Skip to main content

Full text of "dec :: pdp11 :: xxdp :: fiche 200dpi :: 0113 CZRQBC0 RQDX1fmtr"

See other formats


TRQB1 



0001 
0002 
0003 
0004 
0005 
OOOo 
000? 
0003 
C 0009 
C 0010 
C 0011 
C 0012 
001? 
0014 
0015 
00 If 
0017 
0018 
001* 
0020 
002? 1 
0022 
0023 
0024 
C 0025 



0026 
0027 
0028 
0029 
0030 
0031 
0032 



C 003? 
C 0034 
C 00?!:. 
C 0036 
C 0037 













RDRX DISK FORMATTER 



MODULE ZRQB1 (UTITIE ' kORX DISK FORMATTER' 

IOCNT « REV C PATCH 0* , 
ADDRESSING MODE (ABSOLUTE) , 
ENVIRONMENT (NOEIS) 
*) - 

BEGIN 



6 Mar 
6 -Mar 



1984 
1984 



14 
14 



SEQ 000 I 
16:44 VAX-11 Bl'ss-16 V4. 0-579 Page 1 

16 {36 DISK$USER2:[ YOUNG. FMT]ZRQBl.B16j4 ClJ 



.IDENTIFICATION 



PRODUCT CODE 
PRODUCT NAME 
PRODUCT DATE 
MAINTAINER; 
AUTHOR: 



AC T566C MC 

CZRQBCO RQDxi DISK FORMATTER 

9 APRIL 1984 

DIAGNOSTIC ENGINEERING 

Doug Neale 



THE INFORMATION IN THZS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT Bl DIGITAL 
EQUIPMENT CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMFS NO 
RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. 
NO RESPONSIBILITY IS ASSUMED FOR THE USE OR RELIABILITY 0* 
SOFTWARE ON EQUIPMENT THAT IS NOT bUPPLIED BY DIGITAL OR ITS 
AFFILIATED COMPANIES. 



COPYRIGHT (C) 
THE FOLLOWING 

DIGITAL 
DEC 



1983/84 BY OIGITftL EQUIPMENT CORPORATION 

ARE TRADEMARKS' 0^ DIGITAL EQUIPMENT CORPORATION 



PDP 
DECUS 



UNIPUS 
DECLARE 



M, A^BUs 



/RQB I 


RP.V C PAICH 


I C 0038 1 


; C 0039 1 


: C 0040 1 


; C 0041 1 


5 C 004 J 1 


; C 0043 i 


; C 0044 1 


; C 0045 1 


; C 0046 1 


; C 004.' 1 


; C 0048 1 


; C 0049 1 


; C 0050 1 


; C 0051 1 


; C 005? 1 


; C 005? 1 


; C 0054 1 


; C 0055 1 


j C 00 r t> 1 


J C 005? 1 



RDRX DISK FORMAT HR 







CI 

6 Mar 
b Mar 



1984 
1984 



14jl6;44 

14il6{36 



VAX -11 Bliss- 16 V4.0 5/9 
DISK1USER2: [ TOUNG, FMT ]ZRQB1.B16|4 



SfcQ 000^ 
Page 



C2; 



REVISION HISTORY 



February 1983 Jay Nevin 

-Adapted existing A/TEC formatter For use with RQDX RD51 



March 1983 
-Corrected 



Russell toung 
minor Incompatab i 1 ! t ies 



in e\pec tat ions between controller and host 



February 1984 Russell Young 

-Updated the main routine to work on either version 8 or 9 of the RQOX microcode 
In version 8 the ASCII strings are stored in the host cod« because of space 
limitations In the controller. Version 9, for increased generality, hag the 
strings held In the controller and transmitted to the host. This still contains 
the orlginol code section to maintain compatabl 1 I ty with version 8, 

March 1984 Russell toung 

-Removed checks on Incoming error and informational messoges to *llow controller 
modification without reissuing this t."»ry time. Also, the routine Sf-TCPU was 
added to allow this to ryn on an ORIUN system. 



I A i 



)1 



/RUB I 


REV 


C PATCH 


j C 


0058 1 


; C 


00^9 1 


; C 


OObO 1 


; C 


0061 1 


J c 


00*2 1 


; C 


0063 1 


; C 


0064 1 


J c 


OObfj 1 


: C 


0066 1 


; C 


oo*: 1 


: C 


0068 1 


: L 


0069 1 


; C 


00 .'0 1 


; C 


oo:i i 


j C 


007,? 1 


; C 


0073 1 


; C 


0074 1 


; C 


00. ,r > 1 


; C 


00 7u 1 


s C 


0077 1 


; l 


00 ?S 1 


: C 


0079 1 


; C 


0u80 i 


; C 


0081 I 


{ c 


0082 1 



RDRX DISK H1RMATTIR 







6 Mar -1984 14:16544 
6 Mar -1984 14 j 16 j 36 



VAX-11 Bliss 16 V4. 0-579 SaQ PaQ* 5 5 
DISK$U5fcR2i[TOUNG.FMT]ZRQBl.B16|4 (3) 



1.0 



TABLE OF CONTENTS 



GENERAL INFORMATION 



1.1 PROGRAM ABSTRACT 

1.1.1 HOST RESIDENT PROGRAM 

1.1.2 CONTROLLER RESIDENT PROGRAM 



1. 



SYSTEM REQUIREMENTS 



1.2.1 HARDWARE REQUIREMENTS 

1.2.2 SOFTWARE REQUIREMENTS 



1.3 

2.0 

2.1 

2,3 

3.0 
3.1 
3.2 



RELATED D0CU1ENTS AND STANDARDS 

OPERATING INSTRUCTIONS 
HARDWARE QUESTIONS 
SOFTWARE QUESTIONS 
FORMATTER QUESTIONS 



RUNNING 

ERRORS 

SUCCuSS 



THE FORMATTER 






/RQB1 




REV C PATCH 


; C 0085 1 




; C 00^4 J 




i C 0085 1 




i C 0086 1 




t C 003 : .1 




{ C 0088 ] 




: C 0089 ] 




; C 0090 ) 




i C 0091 ] 




; C 0092 ] 




; C 0093 1 




i C 0094 3 




; C 009S ] 




; C 0C )x> ] 




l C 009/ ] 




; C 00*8 1 




j C 0099 J 




j r oioo i 




; L 0101 ] 




: C 0102 ] 




> C 0103 ] 




; C 0104 1 




; C 0105 ] 




j C 0106 ] 




; c oio; ] 




{ C 0108 ] 




; C 0109 ] 




: C 0110 ] 




: C 0111 1 




; C Oil? ] 




; C 0113 ] 




i C 0114 ] 




; C 01 IS ] 




; C 0116 ] 




j C 0117 ] 




; C 0118 1 




j C 0119 ] 




; C 0120 ] 




; C 012) : 




; C 0122 ] 




{ C 0123 ] 




; C 0124 1 




; C 0125 ] 




; C 012* ] 




; C 012/ ] 




; C 0128 ] 




; C 0129 ] 




j C OHO 1 




i C 0131 I 




; C 01 V , 




; C 01 *.* ' 


L 


; C 01 ^4 ' 




} C 013t> < 


I 



RDRX DISK EURMATH.R 



6 Mar-1984 14*16:44 
6 -Mar -1984 14; 16; 36 



SEQ 0004 
VAX-11 Bliss-16 V4. 0-579 Page 4 

DISK $USER2;[ YOUNG, FMT]ZRQB1.B16 } 4 (4 j 



1,0 GENERAL INFORMATION 



1,1 PROGRAM ABSTRACT 



1.1 .1 HOST RESIDENT PROGRAM 



This proaram is the front end which invokes the formatter 
for the RD51/52 disk connected to the RQDXl controller. It 
Interfaces with the actual formatter which is in the controller. 

the actual 
from the 
nforming 
tne user or me nnai outcome, i ne lose two steps depend on 
the version of the controller present, The host resident program 
is designed to run both version 8 and version 9 of the RQDX 
controller. 



1.1.2 CONTROLLER RESIDENT PROGRAM 

When invoked by the host resident portion, this w«ll prompt 
for any information it needs, and then begin running, A run 
consists of marking the disk as unformatted, formatting it* 
rijnntng three passes of a surface analysis, saving the * CT 
and RCl, and marking the disk as formatted. 



1.2 SrSTEM REQUIREMENTS 



1.2.1 HARDWARE REQUIREMENTS 



LSI - 11/23 processor with 28 K or more of memory, console 
device (EX. VI 100) and RQ0X1 CONTROLLER board and attached 
RD51/5? WINCHESTER drivei'O. 

As of rev C of this program, it will also run on an Orion 
J 11 processor . 

ltdtd SOFTWARE REQUIREMENT*.; 

THIS DIAGNOSTIC I> D*Sk.NU> TO RUN WITH THfr DIAGNOSTIC SUPERVISOR 
AS OfcSCRlBU IN PARAGRAPH w \q. 



ZRQB1 


REV 


C PATCH 


» c 


0136 1 


; C 


0157 1 


; C 


0138 1 


; C 


013* 1 


j c 


0140 1 


; C 


0141 1 


i C 


014 > 1 



RORX DISK EORMATUR 



6 -Mar -1984 1^ : 16:44 
6-Mor-1984 14:l6j36 



SEQ 000b 
VAX -11 Bliss 16 V4. 0-579 Page 5 

DISK$USER2jf rOUNG.FMT]ZRQB1.816j4 (4 J 



1,3 RELATED DOCUMENTS AND STANDARDS 



XXDP. SUPERVISOR/USERS MANUAl CHQUS 
DSDPVlc 1 DEC DISK FORMATTING STANDARDS 



) 



/RQB i 


REV C PtWCH 


i C 0143 1 


j C 0144 1 


i C 0145 1 


: C 014t^ 1 


i c 014: i 


; C 0148 1 


5 C 014^ 1 


; C 0l50 1 


; C 0151 1 


5 c oi r >.: i 


: C 0155 1 


; C 0154 1 


j C 0155 1 


; C 015b 1 


s c 015; i 


; C 0158 1 


; C 0159 1 


; C 0160 1 


: C 0181 1 


: C 016.? 1 


; C 0165 1 


j C 0164 1 


j C 0165 1 


; C 0166 1 


; C 0167 1 


: C 0168 1 


i C 0169 l 


; C 0170 1 


; C 0171 l 


; C 01/2 1 


: C 0175 1 


j C 0174 l 


; C 0175 .' 


! C 01 76 : 


; C 017/ 1 


; C 01/8 1 


; C 0179 l 


; C 0180 1 


; C 0181 1 


; C 018, > 1 


; C 0185 i. 


; C 0184 1 


: C 0185 1 


; C 0186 1 


; C 018/ 1 


j C 0188 1 


; C 0189 1 


t C 0190 1 


. C 0191 1 


; C 0192 1 


; C 019* l 


; C 01--#4 1 


i C 0195 1 



RDRX DISK FORMATTER 







2.1 



6 Mar- 1984 
6-Mar-1984 



SEQ 0006 
14:16:44 VAX-11 Bliss- 16 V4. 0-579 Page 6 

14 ; 16 j 36 DISK $U5ER2 j f YOUNG . fMT ] ZRQ81 . B16 ; 4 C 5 ) 



2.0 OPERATING INSTRUCTIONS 



This *s a rev C Supervisor diagnostic: 
tions, please see chapter 5 of \xdp* opera 1 
ore ro longer included in tne diagnostic list 'fig because 
desired tnat a change in thuse instructions not require a 
assembly of all supervisor diagnostics. 



^ or- operating initi- 
ator's man-jcii , the 



uc 

y 
t is 
re- 



HARDWARE QUESTIONS 



The following series of questions comprise the parameters 
necessary to initialize the controller. 



Hordware Configuration Questions 

The program will : sk the following questions In 
to a START command (non script). No default will 
for the CHANGE HARDWARE and SOFTWARE questions. 



response 
be accepted 



1. CHANGE HW ( 



Answer NO to use the ore -built answers for all hardware 
questions. lhis program will be released pre built to 
format unit with default answers shown below. The 
pre built answers may be changed at any time with the 
setup utility. Answer YES to be asked all the hardware 
quest ions. 



IP ADDRESS (0) 172150 ? 



Enter the address of the IP register of one RDQX1 
dressed by the processor with memorv management 
off. The program expects an even 16 bit address 
range of 160000 to 1/7/74. 1/2150 is the default 



as ad 

turned 
n the 



VECTOR ADDRl 



(in 154 7 



Ar»s**r with the Interrupt vector of same RDQX 1 in the 
above que«,t'On. A vector address In the range of 4 to 
774 may be specified. 154 I* the default, 



i-i I 






Rt:v c 



VA1CH 



RORX DISK FORMATTER 



6-Mor 
b-Mar 



0196 
019/ 
0198 
0199 

OVOO 



4, BR I l-VKl. (0)4? 



S&Q 000/ 
1984 14:16:44 VAX-11 Bliss- 16 V4.0 579 Page 7 

1954 14:16:36 DISK$USER2; f YOUNG, FMT ]7RQB1 .616*4 (5) 



Answer w ! th 
above HUDXl 
default, 



the buy request interrupt level used by the 
Levels 4 through 7 arc acceptable. 4 Is the 



/RQB1 


RF.V 


C PATCH 


{ C 


O.XU 1 


I c 


020? 1 


; C 


CV05 i 


; C 


0004 1 


; C 


0005 1 


; C 


OAU. 1 


; C 


000 7 1 


: C 


0003 1 


s C 


0209 1 


; C 


0010 1 


; C 


00 1 1 1 


; C 


0010 1 


; C 


001? 1 


; C 


0014 1 


. r 


oo :s i 


J c 


001b 1 


; C 


oo r; l 


; C 


001 H 1 


i c 


001<> 1 


j c 


0000 1 


: C 


0001 1 


; C 


OOOO 1 


; C 


0003 1 


; C 


0004 1 


; C 


OOO'j 1 


; C 


0006 1 


; C 


0007 1 


; C 


0008 1 


j c 


COO 1 * 1 


j c 


0230 1 


; C 


0031 1 


j c 


0030 1 


{ c 


005 5 1 


: C 


0054 1 


; C 


00 3 S 1 


{ c 


0036 3. 


; C 


005/ 1 


; C 


003H 1 


: C 


0039 1 


; C 


004 1 


j C 


004 1 1 


; C 


0040 1 


; C 


004 3 1 


; C 


0044 1 


; C 


004'j 1 


: C 


0046 1 


; C 


004 / 1 


; C 


004 8 1 


j c 


004 <* 1 


j c 


OOSO i 


: C 


OO'.l 1 


j C 


C.-'V ! 


l c 


00S3 1 







RDRX DISK FOflMATTtR 



6 Mar- 1984 14; 16: 44 
6 -Mar -1984 14 j 16 t 36 



SEQ 0008 
VAX 11 Bliss-16 V4, 0-5/9 Page 8 

DISK$USERO: [YOUNG. FMT ]ZRQB1 .B16 ;4 (6) 



SOFTWARE. QUESTIONS 



Software Parameter Quest! one 



The program will ask the following questions in response 

to a START or RESTART command (non-script). No default will be 

accepted, 

I. CHANGE SW (L) ? 

Answer either Y or N to this question. A Yes answer will allow 
the formatter to be set up for the APT environment by asking only 
questions 0, and 3. below, A No answer will cause the formatter to 
proceed to ask questions as explained in section 0.3 below, 

0. SOFTWARE QUESTIONS ONLY APPLY UNDER APT. rNU R UNIT NUMBER (0) ? 

This will accept any answer in the range of to 3. It will default 
to i f a <CR> is struck, 

3. ENTER MODE (1 - REFORMAT, - RESTORE 3 • RECONSTRUCT] CO) ? 

Answering this qv*estion with one of the above numbers 

will cause the formatter to try one of the three formatting 

modes as explained in 2a, 2b or 2c below. 



0.3 



FORMA ITER QUESTIONS 



The questions asked depend on the version of the controller microcode 
in the RQOX. When the controller is first initialised, the host 
program determines which version Is running. If it is version 8, 
the host program, driven by prompts from the controller, displays 
questions stored as ASCII tevt on the host. If version 9 Is running, 
the protects are transmitted from the controller, the actual question*: 
asked and the orde- in which they are asked differs in the two versions 



2.3.1 VERSION 8 QUESTIONS 



After these DRS set up questions, the version o formatter will ask 
the following manual intervention questions needed to proceed. 
These quest i ons will not be asked ^rxler APT. The default answers 
contained in the formatter will be used. These answers inverse t 
directly with the RJ'JXl Controller. 



i i 



Jl 

SE.Q 0009 
'RUBl RORX DISK FORMATTER fc-Mar 1W 14;16'44 VAX - 1 1 Bliss-U> V4.0-57? Page ^ 

Hfr.V C PATCH 6 Mar -1984 14 j 16:36 DISK$USER2: [ rOUNG.FMT]ZRQb'l . B16 j4 (6) 

C 0»>M 1 1, ENHR UNIT NUMBFR TO FORMAT (0) 

c o^ss 1 

C *.Vr«t» 1 1he answer should be in the range oP to 3. The default answer 

C Ot u y.' 1 is 0* 



V 



■ 1 



-RQB1 


**EV C PATCH 


; C 0258 1 


5 C 0259 1 


; C 0260 1 


{ C 0261 1 


; C 0262 1 


; C 0265 1 


; C 0264 1 


; C 0265 1 


; C 0266 1 


; C 026"/ 1 


; C 0268 1 


; C 0269 1 


. C 02/0 1 


; C 02/1 1 


; C 02/2 1 


; C 02/3 1 


; C 0274 1 


; C 02 7S 1 


; C 02/6 1 


; C 02// 1 


; C 0278 1 


; C 0279 ,. 


j C 0280 1 


; C 0281 1 


; C 0282 1 


; C 0283 1 


; C 0284 1 


; C 0285 1 


; C 0286 1 


; C 026/ 1 


\ C 0288 1 


; C 0289 1 


i C 0290 1 


; C 0291 1 


; C 0292 1 


; C 0293 1 


; C 0294 \ 


; C 0295 1 


; C 0296 1 


; C 0297 1 


; C 0298 1 


; C 0299 1 


; C 0300 1 


j C GS01 1 


; C 0502 1 


; C 0303 3 


; C 0304 1 


; C 0305 1 


; Z 0506 1 


; C 050/ 1 


; C 030H 1 


j C 309 1 



RDRX DISK FORMATTER 



6-Mor-1984 14:16:44 
6 -Mar- 1984 14s 16: 36 



SEQ 0010 
VAX-11 Bliss-16 V4. 0-579 Page 10 

DISK JUSER2 : [ YOUNf . FMT ]ZRQB1 . B16 ; 4 ( 7 ) 



The next three questions select the type of format which will 
be done. The three modes are explained in Unibus Disk Adapter 
Functional Spec! cat ion REV: 2.P c 'ince they are mutually 
exclusive, answering Y to any one of them will cause the formatter 
to snip the remaining ones and go on to the next question. 
Answering N to all threewili cause it to default to REFORMAT 
mode, the same as answering Y to question 2a. In this case, 
the following message will be printed. 

EXISTING BAD BLOCK INFORMATION USED 



2a. USF f v IjTING 'JAD BLOCK INFORMATION CN) 

Answering > to this will cause the formatter to try 
mode format. This means it will try to read its own 
! t«5 serial number, and try reading the manufacturer 
reco.'H en the inner cylinder to initialize the RCT. 



a REFORMAT 
FCT to get 
s bad spot 
If it fail- 



in either attempt, it will give up and return an error 

2b. USE DOWN I TNE LOAD (N) 

This mode i -J known as RESTORE, it in not currently 
supported, but is included for possible future improvement, 
Answering, Y to it will have the same result as answering Y 
to question 2c. 

2c. COi INUE IF BAD BLOCK INFORMATION IS INACCURATE (N> 

Answering Y to this will cause a RECONSTRUCT mode format 
to be done. Nothing will be assumed about tne d'*.» , »nq 
the manufacturer's bad spot data, even if present, will be 
ignored, 

3, ENTER 8 CHARACTER SERIAL NUMBER 

If REFORMAT moJe is selected, this question will not be asked. 
Otherwise, it needs 8 characters to be entered, The number is not 
important, and must only be unique on the controller. Thus, on 
a one R051/52 system, any eight characters will Suffice, and on a 
two RD51/52 system each one must be different - this is not difficult 
to achieve, since each character may ke any printable ASCII symbol. 

4, ENTER DATE" IN MM-DD-Yi FORMAT 



Type in the 
characters, 
Th i 6 quet»t I on will 



date of formatting. It ne*ds exactly eight 
so January 1, l*i$A must be entered as 01 01 -P4 
be asked in all modes of formatting. 



1 1. 



ZRQB1 


REV C ^AICH 


; C 0310 1 


; C OM1 1 


; C 0312 i 


; C 0313 1 


; C 0314 1 


; C 0315 ) 


; C 03:6 1 


; C 031 T 1 


; C 0318 1 


; C 031^ 1 


; C 0320 1 


; C 0321 1 


; C 032? 1 


; C 0323 1 


; C 0324 1 


; C 0325 1 


; C 0326 1 


; C 0327 1 


; C 0328 1 


; C 0329 1 


; C 0330 1 


; C 0331 1 


; C 0332 1 


; C 0333 1 


; C 0334 1 


; C 0335 1 


; C 0336 1 


; C D337 l 


; C 0338 1 


; C 0339 1 


; C 0.^0 1 


; C 03-1 1 


; C 0W> 1 


; C s. .43 1 


; C 0344 1 


; C 0345 1 


; C 0346 1 


; C 0347 1 


; C 0348 1 


; C 0349 1 


: r 0350 1 


; C 0^51 1 


; C 0352 1 


; C 0353 1 


; C 0354 J 


; C 0355 1 


; C 0'56 1 


; C 03 J/ 1 


; C 0358 1 


; C 0359 1 


; C 0360 1 


i C OV.l 1 


; C Q'5b2 1 



RDSX DISK FORMi TTfcR 







6 Mor-1984 14;16:44 
b -Mar -1984 14:16:36 



SEQ 0011 
VAX-11 Bliss-16 V4. 0-579 Page 11 

DISK $USER2;[ YOUNG. FMT1ZRQB1.B16} 4 C8> 



2,3.2 



VERSION 9 QUESTIONS 



3.0 



1. Enter dote <MM~DDYYYY> 

Dote should be entered In the form requested. For example, 
1-29-1958 , or 
4-25-1980 

2. Enter unil number to format <0>: 

Unit number is entered in decimal, <* x < 16. Default is 

3. Use existing bad block information <N>: 

If yes, Execute a REFORMAT mode formatting. That is, try to 
use the RCT which already exists on the disk. 

4. Us< down- line load <N>: 

A Y here will cause question 5 to be skipped, and 
the controller to prompt for the head, cylinder, and 
byte offset of the bad blocks, as reported by the 
manufacturer . 

5. Continue if bad block information is fnaccessable <N>: 

If the formatter tries to read the Factory Control Table and 
falls, it will abort the format if this is not answered yes. 

6. Enter non-zero serial number.* 

Enter one to ten digits. The controller requires an even number, 
so if an odd number are typed a "." is appended to the end. 

RUNNING 



After asking *- u e date, the actual formatting will begin. 
If all goes w«m in just under 11 minutes it will return 
a successful con^iet>on message. Otherwise, it will print 
an error message, probably much sooner. 



3,1,). Version 8 Errors 



formatter. 



The following are the error messages generated by t> ■ ^ -... Q ^v 
If any other message appears it has been printed by DRS or XXDP^ 
so refer to the pertinent documentation for explanation, Errors 

2. and 3 will occur almost immediately, 4 can appear up to 



s 

1. 
about 
and 6 



occur almost immediately, 4 can appear up 
a minute after starting, 5 from about 1 minute to 10 minute-"* » 
and 7 after 10 minutes 



l« 



UNXT IS N01 WINCHESTER OR CAN NOT BE SELECTED 

The unit selected is either unavailable or is not 

an RQ51/52, Check to assure it is not write protected. 



1! 



M 1 



ZRQB1 


REV C PATCH 


; C 03t3 1 


; C 03bM 1 


; C 0365 1 


; C 03b6 1 


; C 0367 1 


; C 0368 1 


; C 0369 1 


; C 0370 1 


; C 0371. 1 


i C 03 /J 1 


; C 03/3 1 


; C 0374 1 


; C 0375 1 


; C 0376 1 


! C 037/ 1 


; C 0378 1 


; C 0379 1 


; C 0380 1 


: C 0381 1 


; C 0382 1 


; C 0383 1 


; C 0384 1 


; C 0385 1 


; C 0386 1 


; C 0387 1 


; C 0388 1 


; C 0389 1 


; C 0390 1 


; C 0391 1 


; C 0392 1 


; C 0393 1 


; C 0394 1 


; C 0395 1 


; C 0396 1 


; C 0397 1 


; C 0398 1 


; C 0399 1 


; C 0400 1 


-. C 0401 1 


; C 0402 1 


; C 0403 1 


; C 0404 1 


; C 0405 1 


; C 0406 1 


; C u40/ 1 


; C 0408 1 


; C 0409 1 


: C 0410 1 


; C 0411 1 


j C C 12 1 


; C 0413 1 


: C 0414 1 


I C 0415 1 



RORX DISK FORMATTER 







6 -Mar- 1984 

6-Mar-198* 



SEQ 0012 
14:16:44 VAX - 11 B 1 iss 16 V4 .0-579 Page 12 

14:16:36 DISK $USER2 j [ YOUNG. FMT 1ZRQB1 . B16j 4 (8) 



3. 



4. 



5. 



6. 



7. 



3.1.2 



INITIAL FAILURE ACCESSING FCT 

The format Control Table cannot be read. If you are trying 
REFORMAT mode, try RECONSTRUCT. If that fails also, the disk 
may be bod. 



FACTORY BAD BLOCK INFORMATION IS INACCESSABLE 

This will only occur if a REFORMAT is attempted and 
bad spot data is not accessible. Run in RECONSTRUCT 



the factory 
mode. 



SEEK FAILURE DURING ACTUAL FORMATTING 

There has been a hardware error during the actual formatting, 
If this error persists, check for hardware problems. 

REVECTOR LIMIT EXCEEDED 

The disk can only handle 144 bad blocks, and more than 
that have been found. If this persists the disk is bad. 

RCT WRITE FAILURE 

The formatting and surface analysis were completed successfully, 
but a write to the disk afterwards failed. 



FAILURE CLOSING FCTS 

Everything has been completed, 
marked as being unformatted. 



but the disk is still 



3.2 



Version 

1. 

2. 

3. 

4. 

5. 

6. 

7. 

8. 

9. 

10. 

11. 

12. 

13, 

14. 

15. 

16. 

17. 

18. 

19. 

20. 

21. 

22. 

23 

2**. 



SUCCESS 



9 error messages 

GET STATUS failure 

Q-PORT send error 

Unsuccessful command 

Q-PORT receive error 

Q-Bus I/O error 

Formatter initialization error 

Nonexistent unit number 

DBN/XBN format error (6r 

FCT does not have enough 

SEEK error 

RCT does not have enough 

LBN format error (drive 

FCT wp i te error 

RCT read error 

RCT wr i te error 

RCT full 

FCT read error 

FCT nonexistent 

FCT Down line load error 

Dr 5 ve i n i t t i meout 

Illegal response to start up question 

WARNING ■ possible head addressing problem 

INPUT Error 

Media degraded 



ve FORMAT command failed) 
good copies of each block 

good copies of each block 
FORMAT command failed)" 



run diagnostics 



Ml 



Nl 



ZRQB1 


RF.V C PATCH 


} C 0416 1 


; C 041? 1 


; C 0416 1 


; C 0419 1 


l C 0420 1 


; C 0421 i 


; C 0422 1 


; C 0423 1 


; C 0424 1 


; C 0425 1 


; C 0426 1 


; C 042? 1 


; C 0426 1 


; C 0429 1 


; C 0430 1 


{ C 0431 1 


; C 04. '.2 1 


; C 0433 1 


; C 0434 1 


; C 0435 1 


; C 0436 1 


j C 0437 1 


l C 0438 1 


; C 0439 1 


; C 0440 1 


i C 0-M1 1 


i C 0442 1 


; C 0443 1 


; C 0444 1 


I C 0445 1 


; C 0446 1 


; C 044 7 1 


; C 0448 1 


; C 0449 1 


; C. 0450 1 


5 C 0451 1 


; C 0452 l 


; C 0453 1 


; C 0454 1 


; C 0455 1 


; C 0456 1 


; C 045/ 1 


; C 0458 1 


j 0459 1 



RDRX DISK FORMAT TfcR 







6-Mor-1984 14:16:44 
6*Mar-1984 14:16:36 



5EQ 0013 
VAX-11 Oliss-16 V4. 0-579 Pane 13 

DISK $ USER2 j [ YOUNG . FMT ] ZRC 81 . B16 ; 4 ( 6 ) 



3.2,1 



If all goes well, in about 11 minutes the format i^ill be 
complete. 
VERSION 8 SUCCESS 



3.2. 



Successful completion is signaled by a message 

FORMAT COMPLETED, xu REVECTORED i.BNS 

where xxx is a decimal number. This should be a small 
number - performance will deteriorate if it is too large. 

VERSION 9 SUCCESS 



)* 



The rev 9 controller will provide additional information 
and statistics at the end of each run. 

1 . Format complete 

Signals the tn<i of the formatting process 

2. FCT used successfully 

or 
TCT was not used 

Reports if the Factory Control Table was accessable 

3. xxx Revectored LBN's 

The total number of bad blocks found 

4. xxy Primary revectored LBN's 

The numoer of primary revectored LBNs. Currently the controller 
does not support primary revectoring. 
r * xxx Secondary/tertiary revectored LBN's 

This number should be equal to the tatel LBNs reported in 
message 3. 

6. xxx Bad blocks in the RCT area due to data errors 

bad blocks found in the Replacement ^r\d Caching Table area 

7. xxx Bad blocks in the DBN area due to data errors 

Bad blocks found in the Diagnostic 61oc-« Number area 

8. xxx Bad blocks in the XBN area due to data errors 

Bad blocks In the eXtendedBlock Number area 

9. xxx Sad RBN's 

Bad blocks found in the Replacement Block Number area 

10. xxx Blocks retried on the check pass 

The number of revectorings 



B2 



7RQB1 
REV C 



PATCH 



0460 
04 M 
04b2 
0465 
0464 
2000 
2001 
2002 
2003 
2004 
2005 
2006 
2007 
2008 
2009 
2010 
2011 
2012 
2013 
2014 
2015 
2016 
2017 
2016 
2019 
2020 
2021 
2022 
202? 
2024 
2025 
2026 
202? 
2028 
2029 
2030 
2031 
2032 
2033 
2034 
2035 
2036 
2037 
2038 
2039 
2040 
2041 
2042 
204? 
2044 
204 5 
2C46 
204 7 



RDRX DISK FORMATTER 
PROGRAM HEADER 

•sbttl 'PROGRAM HEADER' 

library '/RQBB0.L16' \ 

require 'BLSMAC.REQ* j 



6 -Mar 1984 14jl6;44 
6-Mar-1984 14 ? 16j36 



SEQ 0014 
VAX-11 Bliss-16 V4. 0-579 Page 14 

DISK$USER2}[Y0UNG.PMTURQBl,B16j4 (9) 



IDefine RDRX Formatter Library 
I Define Bliss Macro Require File 



The psect named 'code or Icode*" is redefinded here 
to be called ' no $ code". This Is done to force the TKR 
linker to place the programs header information starting 
at absolute aoo'ress 2000. 

psect 

code ■ aafcodej 



literal 

DSfNBR.OF. TESTS » 1| 



! Indicates number of test in D«ag 



The structure of a diagnostic program may contain un? or all of the 
ten optional sections. But five of the optional sections require a 
pointer that is derived by and for the supervisor, and Is located in 
the header block. Therefore, in relation to the effective use of 
these five pointers, the optional sections call must be coded to re- 
flect usa^e (i.e., any, all, or none). 

The following coding possibilities exist: 

POINTER (BGNRPT,BGNSW,BGNSFT,BGNAU,BGNDU,ERRTBL t BGNSETUP) 

Cor any subset of the args) 



POINTER CALL) 
POINTER (NONE) 



I All provides pointers for all five 

i sections 

i None indicates to supervisor that no 

i pointers are required. 

j this Is the default 



No pointers are optional using bjlsa. Make sure the following 
sections of code are in place (in the correct «jkcls).even if 
the sections are blank. 



ARGUMENT 


function 


RPT 


REPORT CODE 


SW 


SOFTWARE TABLE 


SFT 


SOFTWARE TABLE QUESTIONS 


AU 


ADD CODE 


DU 


DROP C00E 


TBL 


ERROR TABLt 


Vf.TiJP 


ASSEMBLED P TABLES 



POINTER (ALL); 



r~- 



c, 



* ? RQR1 

RP.V C PA1CH 



^046 

,2056 

«?058 
£059 



RDRX DISK FORMATTER 
PROGRAM HEADER 



8 Mar -1984 
6>Mar-1984 



14:16:44 VAX- 11 Bliss- 16 V4.0 579 ^pSge" IS 
14 i 16 5 36 DISK*USERHj[ YOUNG, FMT1ZRQB1.B 16 ;4 ( 10 ) 



The program header section contains general information which des- 
cribes the major characteristics of the diagnostic program. This in- 
cludes, the program name, and revision and patch -order levels, The 
header also provides space for an event flag register, and for the 
storage of pointers, through which the supervisor may find access to 
other key sections of the programCe.g. , dispatch table, initialize and 
cleanup code, etc*). An argument on the header gives the device type 
if It Is an XXDP* bootable device. This enables the supervisor to pro- 
vide load medium protection when necessary. 



HEADER (#asci i'ZRQB' , Kascii'C 1 . *asc i « ' 



1200* 



0, PRI00): 



I N 



DcV 



ZRQB1 


RORX OIS 


REV C PATCH DISPATCH 


2060 J 


L rfsbttl ' 


; 20b 1 ] 


L ! * 


; 2062 1 


L ! The di 


; 2063 1 


L ! tests 


; 2064 ] 


L J the co 


; 2065 ] 


L ! - 


; 2066 1 


L DISPATCH 


; 20b7 ] 


L ERRTBL: 



; FORMATTER 
TABLE 

'DISPATCH TABLE 



6 Mar-1984 14?16:44 
6-Mar-1984 14 i 16j36 



VAX -11 Bliss- 16 V4.C-579 SE °p22£ 6 16 
DISI<*USER2:[ YOUNG. FMT URQB1.B16 { 4 Cll) 



The dispatch table section contains address oo inters t 
tests contained within the diagnostic program, Thi9 o 
the coding of only the dispatch macro. 



o the various 
section requires 



(DSSNBR_OF_TESTS)j 



!Def«ne Supervisor Error table storage 



t? 



ZRQB1 
REV C 



PATCH 



2068 

20t>9 
20 70 
2071 

2072 

2073 
2074 

2075 
2076 
20 77 
2078 
2079 
2080 
2081 
2082 
2085 



RORX DISK FORMATTER 
DEFAULT HARDWARE P -TABLE 

*sbttl 'DEFAULT HARDWARE P- TABLE 



C. 

6-Mar-1984 
6-Mar-1984 



The default hardware P-Table contains default values of 
the test-device parameters. The structure of this table 
is identical to the structure of the hardware P- Tables, 
and is used as a "template" for building the P-Tables. 

BGNHW (DFPTBL)j 

global 

HW IP ADRS 

hw vector : 
hw„br level 
hw.unit.no 

ENDHWj 



SEQ 0017 
14j16;44 VAX-11 Bliss-16 V4. 0-579 Page 17 

14: 16} 36 DISK$USER2i[rOUNG,FMT]ZRQBl,B16{4 (12) 



word initial (*o' 172150' 
word initial (*c' 154 1 ), 
; word initial (4), 

word Initial (0); 



)♦ {Define RDRX Co.-troler IP reg 

.'Define RDRX interrupt vector adddrs 

•Define RDRX bus request level 

•Define RDRX unit no, to format 






7RQB1 

REV C PATCH 



2084 

2085 
2086 

208 7 
2088 
2089 
2090 
2091 
2092 
2093 
2094 
2095 
2096 

209 7 

2099 



RORX DISK FORMATTER 
SOFTWARE! P- TABLE 

*sbttl 'SOFTWARE P -TABLE 



6-Mar~1984 14:16:44 
6~Mar-1984 14:16:36 



SEQ 0018 
VAX-11 Bliss -16 V4, 0-579 p aoe ie 

DISK $USER2 ; [ YOUNG , FMT ] ZRQB 1 . B 16 j4 f 13 ) 



The software table contains various data used by the 
program as operational parameters, These parameters are 
set up at assembly time and may be varied by the operator 
at run time. 

BGNSW CSFPTBL)} 

All software parameter coding is done within the RDRX 
DM code. This is per DUP functional spec compliance, 



global 

SW UNIT, NO 

SW..M0DE t 
ENDSW; 



word initial 
word initial 



(0.\ 
(3); 



.♦default 
.♦default 



un i t 
mode 



to 

to reconstruct 



G2 



ZRQB1 




RDRX DISK FORMAT TfcH 


REV C PATCH 


PROTECTION TABLE 


i 2100 


1 


Ksbttl 'PROTECTION TABLE 


; 2101 


1 


J ♦ 


2102 


1 


! This table is used by the runtime 


; 2105 


1 


! services to protect the load media. 


j 2104 


1 




; 2105 


1 


! 1st arg » Offset into P„Table for 


2106 


1 


! 2nd arg - Offset into Pliable for 


; 2107 


1 


! 3rd arg - Offset into P.Tablc for 


s 2108 


1 


j - 


210* 


i 


BGNPROT t -1, -I, -1){ 


5 2110 


1 


ENDPROTj 



6-Mor-1984 14 5 16;44 
6-Mar-l984 14j16j36 



VAX-11 Bliss-16 V4. 0-579 "' Pag© 9 19 
DISK$USER2:[ YOUNG. FMT]ZRQB1, 616 «4 C14) 



csr address 

massbus address 
drive number 



i i > 



1(1 



ZRQB1 
REV C 



PATCH 



2111 

2112 
2113 

;?ii4 

.'115 
211b 
2117 
2118 
2)19 
2120 
2121 
2122 
212.5 
2124 
2125 
2126 
2127 
212ft 
212* 
2150 
2131 
2132 
2133 
2134 
2135 
2136 
2137 
2138 
2139 
2140 
2141 
214? 
2143 
2144 
2145 
2146 
214 7 2 

2148 2 

2149 2 

2150 t > 

2151 2 

2152 2 
2155 2 

2154 y 

2155 1 

2156 1 



RDRX DISK FORMATTER 
MODULE DECLARATIONS 

*sbttl 'MODULE DECLARATIONS 



6 Mar -1984 14:16:44 
6 -Mar -1984 14:16:36 



SE.Q 0020 
VAX-11 Biiss-16 V4, 0-579 Page 20 

DISK $USER2 : [ YOUNG , FMT ]ZRQB1 , B16 ; 4 ( 15 ) 



Within BLStiAC.REQ the psect names, pi i t global and own, 
are redefined to ts oa*code, This is done to force the 
tkb linker to link the header information starting at 
at absolute address 2000. Redefine these psect naiw 
back to their original names for house keeping purpose , 

Also change the attributes for the psect "global" so that 
global data will not be linked starting at absolute address 
2000, 

psect 

pi J t - $plit$C global), 

global * *glob$Cnowri te, noexecute, global, concatenate), 

own ~ $own$j 



! Structure declarations used within this 
! module. 



structure 



RDRX register accessing structure. This 
structure allows RDRX register accessing 
to be transportable between the PDP-11 and 
VAX Diagnostic Supervisors. 

This also defines an access algorithm for 
VAX to allow field reference to MBA address 
space without generatirg machine checks 



RDRX [0, P, S, E] ' 
begin 

local 

RC$S_REGs 

RC*S„REG - .CRQRX * «upval*Q)<Q» *bpval t Q> j 

RCIS.REG 

end 



'i i 



T2 



ZRQB1 

REV C PATCH 



2157 

21 58 

215<* 

in 60 

2162 
2163 
2164 
21bf> 

216b 
2167 

2168 
216^ 

21:0 

2171 
2172 
2173 
2174 
21 75 
2176 
217 7 
2178 
2179 
2180 
2181 
2182 
2185 
2184 
218b 
2186 
218;' 
2188 
2189 
2190 
2191 
2192 
2193 
21^4 
219S 
2196 
2197 
2198 
2199 
2200 
2201 
2202 
2203 
2204 
220S 
2206 
'■.'0/ 
. . ">H 
2209 



RORX DISK FORMAT U.R 
GLOBAL DATA SECTION 

*sbttl 'GLOBAL DATA SECTION' 
! » 

J The global data section contains data that 
■ in more than one test or module. 



b-Mar-1984 14;16t44 
6-Mar-1984 14:16?36 



SCQ 0021 
VAX-11 Bliss-16 V4.0-579 Page ?1 

DISK $USER2 : [ YOUNG . FMT ]ZRQB1 . B16 »4 ( 16 ) 



are used 



global 



Communication area Declarations 

C0M_AREA : blockvector [ REALLOCATE ♦ SND ALLOCATE ♦ HDR SI/, 2, word], 

HEAD.AREA ; ref block [4, word] field (HDR.FIELD), 

RECEIVE_RING : ref blockvector fREC ALLOCATE, 2, word] field (DSC FIELD), 

SEND_RING : ref blockvector [ SNO ALLOCATE, 2, word] field (DSC FIELD), 

REC_ENVELOPE : blockvector [REALLOCATE , RB.SIZE ♦ 2. word] field CENV FIELD) 

SND_ENVEL0PE : blockvector [SND ALLOCATE, SB_SIZE ♦ 2, word] field lENV FIELD) 

REC„BUF : block [RECB.SIZE, word] field CRECB FIELD), 

SND_BUF ; vector [SNOB SIZE, word) 

OUUSTD.BUF • BLOCKVECTOR [REALLOCATE , 2, UORD 1 FIELD t OUT $FIELD) , 

RET_EN$AD : ref block [RB..SIZE * 2, word] field CENV FIELD)} 



global bind 



Diagnostic supervisor printing asc J I format strings, 

FMT1 » upl i t (#asc i2' l*T' ), JPrint one osc i i string pointer 

FMT2 • uplit (*asci2'i<N*AF0RMATTING PHYSICAL UNIT *D3'), 

FMT3 - uplit (*ascI/»*N*ALOGICAL UNIT *D2*S*APHYSICAL UNIT #D2*S*AF0RMAT ABORTED'), 

FMT4 - uplit (#asci/'*N*AF0RMAT COMPLETED, *D2*S*A REVECTORED LBNS'), 

FMT5 » uplit (*a9ciz'*N*AF0RMAT ABORTED. ERROR NUMBER *D2'), 

CRLF - uplit Crfasciz'^N' ), 
i 

! Formatter messages (so formatter can conserve space). 



UNIT! MSG » upl 

EXIST i MSG » upl 

DOWN! MSG - upl 

INACCi MSG • upl 

DFLT$_MSG » upl 

SERIAL $ MSG - upl 

DATEt.MSG » upl 

DATMSG » upl 



(*asci/'ENTER UNIT TO BE 
C*asci2'USE EXISTING BAD 



FORMATTED* ), 
BLOCK INFORMATION* 



) 



(rfasciz'USE DOWN LINE LOAD'), 

(#asci/' CONTINUE IF BAD BLOCK INFORMATION IS INACCURATE'), 

(*asci*"*N*AEXISTING HAD BLOCK INFORMATION USED*), 

(Kasciz'ENTER 8 CHARACTER SERIAL NUMBER'), 

CKasciz'ENTER DATE IN MM-DD^Y FORMAT'), 

CKasciz'ENTER DATE <MM-DD-i t YY> • ) , »rev 9 date string 



! default strings 

DEF_DATE • uplit 



R 



t 
t 

RINGBASE 



C#asciz'01-29- c )8' ), 
DEF_SERIAL • uplit (*asc I z * 40505X79* >» 
ng base address declaration 



C0M_AREf [REC..UASL] 



MbUADR * R&C.BUF IMSG.TXTh 



") 



ZRQBi 
REV C 



PATCH 



2210 
2211 

2213 
2214 

22 li 

2216 
221/ 
2218 
2214 
2220 
2221 
2222 
2223 
2224 
2225 
2226 

2228 

2230 
2231 
2232 
2233 
2234 
223b 
2236 
2237 
2238 
2239 
2240 
2241 
224c 5 
2?4 3 
2244 
2245 
2246 
224 7 
2248 
2244 
2250 
22S1 
22 r >2 

< ?S3 

. 2S4 
2255 
2256 

2258 
2259 
2260 

2261 
2262 



RORX DISK FORMAT UK 
GLOBAL DATA SECTION 



global 



Miscellaneous data declarations 

OVSA : WORD, 
NXT_CRN : BITE, 

RET.STATUS : word initial C*o' 000000' ), 
l.UN ; word, 
PID SAVE t word, 
UC.VER : byte, 
NSD_SL0T : word, 
NRD.SLOT : word, 



Hardware P_ Table storage declarations 

RDRX_A0DR : ref RDRX field ( ISD FIELD), 

VEC_ADDR : word, 

BR LEVEL j word, 

UNIT. .NO : word, 

PTBL_PTR : r.f vector L4, word], 



Dup Protocol data structures 



Reserved field mask structure declaration 

RSVD_5TRUCT : vector [4, word] preset ( 
[0] » rfx'OOFF- , 
[1] * Kx'OOOO' , 
[2] » *x'0700' , 
[3] » #x'07FF' ). 



! , 



! Init Sequence Data^Structure declaration 



f* -Mar -1984 14{16;44 
b-Mar-1984 14:16:36 



StQ 0022 
VAX -11 Bliss- 16 V4.0 b/9 Page 22 

DISK$USER2:[ YOUNG. FMT?ZRQBl.B16j4 C16) 



{Overlay section starting adrs 

{Stores next cmd ref number 

•Saves various return status codes 

.'Stores logical unit number being formatted 

•Saves proces indicator word 

{Stores ucode version number 

!Ne*t send Descriptor slot 

.•Next receive Descriptor slot 



{Controller register access structure 
.•Interrupt vector address storage 
•Bus request level storage 
,' Unit number to format storage 
{Stores P_ Table base address 



{Reserved SA reg fields definitions 

{Step one rsvd fieK 

{Step two rsvd field 

{Step three rsvd field 

{Step four rsvd 6 ucode fSc'd 



ISD.STRUCT 
j 

! Step 

i 

[BLKO, 
TBLK0, 
[BI.K0, 
[BLK0, 

[BLK0, 

[8LK0. 



: blockvector {4, 2. word] field (ISO HELD) preset C 
one read SA register field declaration 



URDO, ERR BIT] - 0, 

WRD0, STP FIELD] • Hb'OOOT 

WRDO, SIR.NV] * 0, 

URDO, SIR OB] - 1, 

URDO, S1R.DI1 - 1. 

WRDO, SIR RSVD]- *o' 3//' , 



{Error bi t 

{AH step bit fields 

{No host inter vec settable adrs 

\Z? bit addressing support 

{Enhanced diag implementation 

{Reserved field 



[BLKO. 
[BLKO. 
fRl KO, 
[BLKO, 



tep one write SA register field declaration 

i. 



URDl, 

WRD1, 
URDl, 

WRD1 , 



ERR 

siw 

S1U 



BIT] * 
WR]« 0, 
CMING] * 



SNO.SI/, 



SlWJWINlil* RLC.SIZ, 



!f rror bi t 

! D I ag wrap 

{Number of 
{Number of 



around 

Send ring slots ' pwrs ot 

Receive-ring slots 'pwrs 



of 



V 



ZRQ81 

REV C PATCH 



RDRX DISK FORMATTER 
GLOBAL DATA SECTION 



1 N I . 



6-Mar-1984 14:16:44 
6~Mar-1984 14}16:36 



SEO 0025 
VAX-11 Bliss-16 V4.0-579 Page 23 

DISK$USER2:t YOUNG, FMT]ZRQBl.Bl6j4 f 16"; 



2263 
2264 

2265 
2266 
2267 
2268 

2269 
2270 

22 a 

2272 
2273 
2274 
:>■.>?«; 



2278 
227^ 
2280 
2281 
2^82 

228 3 
2284 
2285 
2236 
2287 
2288 
2289 
2290 
2291 
2292 
2293 
2294 
2295 
2296 

229 7 
2298 
2299 
2300 
2301 
2302 
2303 
2304 
2305 
2306 
230/ 
2308 
2309 
2310 
2311 
2312 
2313 



[Bl.KO. 
[Bl.KO. 



WRD1 
WRD1 



S1W..IE]- 0, 
SiW„VADR]" *o'33' 



Step two read SA register field declaration 



[BLKl, 
[BLKl, 

[BLK1, 

rai.Ki. 

[BIKl , 

[BLKl, 
[BLK1, 



WRDO, 
WRDO, 
WRDO, 
WRDO. 
WRDO, 
WRDO, 
WRDO, 



ERR. BIT] « 
STP FIELD] 
S2R PTYP]- 
S2R_BIT7]- 
S2R WR]- 
S2R^CRINGJ 
S2R_RRINGj 




0, 

1 



#b'0010' 



SND^SIZ. 
REC.SIZ, 



Unit Sequence interrupt request 
(Interrupt vector address 



•Error bi t 

•All step bit fields 

.•Port type number 

! Echoed IE bit from step one write 

,' Echoed bit 14 from step one write 

! Echoed bits 3-5 from step one write 

! Echoed bits 0-2 from step one write 



Step two write SA register field declaration 

[BLKl, WRD1, S2W.LRBASE)* RINGBASE, 

NOTE: 

The adapter purge interrupt is loaded within 
the bgninit code due to the inability to field 
select bits <1, 15, 0> from the ringbase adrs. 
[BLKl, WRD1, S2W.PI)- 0, 

Step three read SA register field declaration 



IRing base lower address 



•Adapter purge interrupt request 



[BLK2, 
[BLK2. 
[BLK2, 
[BLK2, 
[BLK2, 



WRDO, 
WRDO, 
WRDO, 
WRDO, 
WRDO, 



ERR.BIT] « 

STP.FIELD] 
S3R RSVD]- 
S3R.IE1- 
S3R.VADR]* 



0. 

» rfb'0100' 
i^o' 7- , 

Ho' 33' , 



JError bit 

•All step bit fields 

•Reserved 

.•Echoed IE bit from step one write 

•Echoed VADR from step one write 



Step three write SA register field declaration 



[BLK2, WRD1 
[BLK2, WRD1 



S3W PP]- 0, 
S3W_HRBASE] 







!Purge K Poll test request 
IRing base high address 



Step four read SA register field declaration 



[BLK3, WRDO, ERR BIT] • 0, 

[BLK3, WRDO, STP_FIELD] » *b* 1000 

[BLK3, WRDO, S4R^RSVD]» rfo'7', 

[BLK3, WRDO, S4R MOD]- *o'17'. 

[BLK3. WRDO, S4R_VER]- *o' 17' , 



• Error bit 

•All step bit fields 

•Reserved 
JController u CODE version 
.'Controller u-CODE version 



Step four write SA register field declaration 



[BLK3, WRD1, 

[BLK3, WRD1, 

[BLK3. WRD1, 

[BLK3, WRD1, 



S4W.RSVD3- 
S4W_BURST]- 
S4W l.F]- 0, 
S4W_G0]* 0)j 



*o' 377 
0. 



•Reserved 

•Max number longwords per NPR \fer 

.'Last fail request 

!Go bit 






ZRQBl 

REV C PATCH 



2314 
2315 

2516 
2317 
2318 
2319 
2320 
2321 
2322 
2323 
2324 
2325 
2326 
232/ 
2328 
2329 
2330 
2331 
2332 
2333 
2334 
2335 
2336 
23.37 
2338 
2339 
2340 
2341 
2342 
2343 
2344 
2345 
2346 
2347 
2348 
2349 
2350 
2351 
2352 
2353 
2354 
2355 
2356 
2357 
2358 
2359 
2360 
2361 
2362 
236? 
2364 
2 365 
2366 



RDRX DISK FORMATTER 
GLOBAL TEXT SECTION 

Ksbttl 'GLOBAL TEXT SECTION 



e-Mor-1984 14;16:44 
6-Mar-1984 14:16j36 



SEQ 0024 
VAX-11 Bliss-16 V4, 0-579 Page 24 

DISK $USER2:[ YOUNG, FMT]ZRQBl.B16j 4 (17) 



The global te*t section contains format statements, 
messages, and ASCII information that ore used in 
all modules. 



global bind 



Self -detected fatal port/controller errors 



PFS.STRUCT 



uplit ( 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 
upl 



(rfasc 
C*asc 
(#asc 
(*asc 
(Kasc 
(#asc 
(*asc 
(#asc 
(tfasc 
(*asc 
(*asc 
(rfasc 
(*asc 
(*asc 
(*asc 
(Kasc 
(*<asc 
(*asc 
(tfasc 
(*aoc 
C*asc 
(*osc 



z'#N*A 
z'*N*A 
z'KNKA 
z'*N#A 
z'#N*A 
z'UNWA 
z'rfKWA 
z'*N*A 
z'*Ni<A 
z'*N*A 
z'*N*A 
z'*NWA 
z'*N*A 
z'*N#A 
z'#N*A 
z'#N*A 
z'*N*A 
z'KNUA 
?'*N*A 
z**N*A 
z'*N*A 
z'rfNrfA 



IFMTERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 
IFTLERR 



) 



) 



) 



In it code error 
messages 



and informational 



UNRECOGNIZABLE ERROR CODE'). 

ENVELOPE/PACKET READ (PARITY OR TIMEOUT)*) 

ENVELOPE/PACKET URITE (PARITY OR TIMEOUT)' '), 

CONTROLLER ROM ANO RAM PARITY' ), 

CONTROLLER RAM PARITY'). 

CONTROLLER ROM PARITY* ), 

RING READ (PARITY OR TIMEOUT)' 

RING URITE (PARITY OR TIMEOUT) 

INTERRUPT MASTER' ), 

HOST ACCESS TIMEOUT' ), 

CREDIT LIMIT EXCEEDED* ). 

UNIBUS MASTER ERROR' ). 

DIAGNOSTIC CONTROLLER FATAL ERROR 

INSTRUCTION LOOP TIMEOUT'). 

INVALID CONNECTION IDENTIFIER'), 

INTERRUPT URITE' ), 

MAINTENANCE READ/URITE INVALID REGION IDENTIFIER' ), 

MAINTENANCE URITE LOAD TO NON-LOADABLE CONTROLLER* ) 

CONTROLLER RAM ERROR (NON-PARITY)'). 

INIT SEQUENCE ERROR'). 

HIGH-LEVEL PROTOCOL INCOMPATIBILITY ERROR'). 

PURGE/POLL HARDWARE FAILURE')) ; vector [22], 



) 



PWR^MSG - uplit (#asciz'*Ni*AIFTLERR- INIT CODE RE-ENURED DUE TO PUR FAIL 
ABO.MSG • uplit (*asc!z'*N*A*FTLERR- ABORTING HOST AND REMOTE PROGRAMS*), 
TO_MANY_UNITS - uplit (*asc i z ' *N*AIF TLERR - ILLEGAL NUMBER OF UNITS SELECTED*). 
GOOD_NUM_UNITS - uplit Cilosc iz' #N*A IF TLERR LIMIT OF SIXTEEN UNITS PER FORMATING SESSION') 
BOOT_FAILURE • uplit C*asc I z * *M#A IF TLERR - RDRX CONTROLLER INITIALIZATION ERROR' ), 
PROTO..VIOLATION ■ uplit ( #asc i z ' *N*AIFTLERR PROTOCOL VIOLATION ERROR' ), 
PORT..INIT.ERR - uplit (*asc iz' *N*ASF Ti ERR COMMUNICATION AREA INIT ERROR'), 

! Local .'oad media DM module tile name,e\fc 

i 

*DM..FNIEXT - UPLIT (*ASCIZ* AZFMTR.SAV ), 
i 

! Hardware parameter coding questions 



HW.U1 IP 



* uplit C*osciz'lP REGISTER ADDRESS'), 



M > 



M2 



ZRQB1 
REV C 



P/-TCH 



2367 

2368 
2369 
2370 
2371 
2372 
23 7? 

23 74 
2375 
2376 
2377 
2378 

23/9 

2380 
2381 
2382 
2383 
2384 
2385 
2386 
2387 
2388 
2389 
2390 
2391 
2392 
2393 
2394 
2395 
2396 
239 7 
2398 
2399 
2400 
2401 
2402 
2403 
2404 
2405 
2406 
240/ 
2408 
2409 
2410 
2411 
2412 
2413 
2414 
2415 
2416 

24 17 
2418 
2419 



RDRX DISK FORMATTFR 
GLOBAL TEXT SECTION 

HW..Q2_VECTQR * uplit 
HW_Q3..BR « uplit 



(*asc iz 

(*asciz 



6-Mor-1984 
6~Mor~1984 

INTERRUPT VECTOR ADDRESS') 
BUS REQUEST LEVEL' ), 



SEQ 0025 
14:16:44 VAX-11 Bliss-16 V4. 0-579 Page 

1 4 1 16 1 36 DISK $USER2 i [ YOUNG . FMT ] ZRQB 1 . B16 ; 4 



C17) 



SW_Q1_UNIT 
SW_Q2_M0DE 



upl i t C*asc 1 z 
uplit (¥asciz 



SOFTWARE QUESTIONS ONLY APPLY UNDER APT. 
ENTER MODE [1 - REFORMAT, 2 > RESTORE, 3 



ENTER UNIT NUMBER' ), 
■ RECONSTRUCT]' ), 



! Program flow ascii string messages 



RP_MSG - 
IN MSG - 
AUTO MSG 
CLN_MSG < 
DU MSG - 
AU_MSG ■• 
T1_MSG - 
T2 MSG - 
T3 MSG « 
DINT^MSG 
IINTJ1SG 



upl i t 

upl it 

■ upl i 
upli t 
upl it 
upl it 
upl 1 1 

upl i t 
upl it 

3 upl i 
» Upl' 



Oasc iz 
Ctfasc iz 
t (*asc 
(*asc i 
(rfasciz 
(*asciz 
(*asc iz 
(*asc iz 
(tfasc iz 
t (*asc 
t (*asc 



). 

), 



*N*AREPORT CODE 
#N*AINIT CODE SECTION'), 
z'*Ni<AAUT0DROP SECTION'), 
'*N*ACLEAN-UP CODE SECTION 
*N*ADROP-UNIT CODE SECTION 1 
#N*AADD UNIT CODE SECTION'), 
UNWATEST CODE SECTION 1'), 
*N#ATEST CODE SECTION 2'), 
KNKATEST CODE SECTION 3'), 
z'*N*ADUP*I_SERVICE ROUTINE'), 
z'*N*AINT$I_SERVICE ROUTINE'), 



Formatter error returns 
FMT„ERR - uplit ( 

uplit (*ascjz 

uplit (*asciz 
upljt (*asciz 
uplit (rfasciz 
uplit (tfasciz 
uplit (rfasciz 



*N*AFAILURE CLOSING FCTS'), 

*Ni<ARCT WRITE FAILURE'), 

*N*AREVECTOR LIMIT EXCEEDED'). 

*N*ASEEK FAILURE DURING ACTUAL FORMATTING'), 

*Ni<AFACTORY BAD BLOCK INFORMATION IS INACCESSABLE ' ) 

#N*AINITIAL FAILURE ACCESSING FCT'), 



uplit Crfasciz'rfNtfAUNIT IS NOT WINCHESTER OR CAN NOT BE SELECTED')) : vector [7] 



Error message structure 



upl 
upl 

upl 
upl 
upl 
upl 
up] 
upl 
upl 
upl 

Upl 

upl 
upl 

upl 
upl 
upl 
upl 
upli 



EMSG_STRUC 
t Crfasciz' 
(*asc iz' 
(*asciz' 
(*asc i z' 
C*asciz' 
C*asciz' 
Crfasciz' 
(*asciz r 
(Masc i z' 
(rfasciz 1 
(*asc Iz' 
C*asc iz' 
(*asc Iz' 
(*asc »z' 
(*asc i z' 
(*asc»z' 
(*asciz' 
(tfasciz 1 



T » uplit ( 

*N*A$FTLERR 
*N*A$FTLERR 
*N#A$FTLERR 
*N*A$FTLERR 
*N*A$FTLERR 
#N*A*FTLERR 
*N*A*FTLERR 
*N#A$FTLERR 
#N*A$FTLERR 
*N*A$FTLERR 
#N*A$FTLERR 
*N*A$FTLERR 
*KHA*FTLERR 
*N*A$FTLERR 
*N*AiFTLERR 
*N*A$FTLERR 
*N*A$FTLERR 
*N*A*FTLERR 



RESPONCE STATUS ERROR'), 

HOST/CONTROLLER OUT OF SEQ'). 

REMOTE PROG NOT RUNNING' ), 

UNKNOWN RETURN STATUS CODE' ), 

COM AREA INIT ERROR' ). 

PORT/HOST SYNC ERROR'), 

MESSAGE LENGTH ERROR' ). 

UNKNOWN ENDCODE RECEIVED'), 

ADAPTOR ' •RGE ERROR' ), 

UNKNOWN ..TERRUPT' ). 

INIT SEQ STEP TIMED OUT' ), 

INIT SEQ COMPARE ERROR'), 

UNEXPECTED ATTENTION END MESSAGE RECEIVED'), 

UNEXPECTED COMMAND OPCODE IN END MESSAGE RECEIVED') 

UNEXPECTED SERIOUS EXCEPTION END MESSAGE RECEIVED' ) 

INVALID COMMAND END MESSAGE RECEIVED 1 ), 

UNKNOWN MESSAGE TYPE RECEIVED'), 

OUTSTANDING COMMAND BUFFER FULL'), 



Mi 



N2 



ZRQB1 




RDRX DICK -ORMATTt* 


REV C PATCH 


GLOBAL TEXT SECTION 


; 2420 


1 


uplit C*asciz'*N*A$FTLERR - 


; 2421 


1 


uplit (tfasciz'*Ni<A$FTLERR- 


i 2422 


1 


uplit (*asci£'*N*A*FTLERR- 


; 2423 


1 


uplit Ctfasciz'rfNtfAlFTLERR- 


; 2424 


1 




; 2425 


i 


end 


; 2426 


i 




; 2427 





eludom 



6~Mar-1984 
6-Mar-1984 



5EQ 0026 
14:16:44 VAX-11 Bliss-16 V4. 0-579 Page 26 

14 : 16 : 36 DISK SUSER2 j [YOUNG . FMT 1ZRQB1 . B16 ;4 ( 17 ) 



OUT STANDING COMMAND BUFFER OUT OF 
UNKNOWN MESSAGE NUMBER RECEIVED'), 
FILE READ ERROR' ). 
PORT/CONTROLLER TIMEOUT ERROR')) : 



SYNC ERROR' ) 



vector [22] 



000000 




000000 


132 


000003 


10? 


000004 


000 


000005 


000 


000006 


000 


00000 7 


000 


000010 




000010 


103 


000011 


060 


000012 


OOOOOOG 


000014 


002260 


OOOOlo 


OOOOOOG 


000020 


OOOOOOG 


000022 


000142' 


C00024 


000156' 


000026 


OOOOOOG 


000030 


000000 


000032 


000000 


000034 


000000 


000036 


000000 


000040 


000126' 


000042 


000000 


000044 


000000 


00004G 


000000 


000050 




000050 


003 


000051 


003 


000052 


000000 


000054 


000000 


000056 


000000 


000060 


OOOOOOG 


000062 


ooooooi; 


000064 


000000 


000066 


000000 


000070 


OOOOOOG 


000072 


OOOOOOG 


000074 


000000 



122 



121 





.TITLE 


ZRQB1 RDRX DISK 


FORMATTER 




.IDENT 


/REV C / 






.ENABL 


AMA 






.PSEL T 


ICODES, RO 




L$NAME: 


: .ASCI 


/ZRQ/ 






.ASCI? 


/B/ 






.BYTE 









.BYTE 









.BYTE 









.BYTE 







L$REV:; 










.ASCII 


/c/ 






.ASCII 


/o/ 




LIUNIT: 


: .WORD 


T$PTHV 




LiTIML: 


: .WORD 


2260 




L*HPCP; 


: .WORD 


LtHARD 




LISPCF: 


: .WORD 


LI SOFT 




LIHPTP; 


: .WORD 


L*HW 




LISPTP; 


j .WORD 


LISW 




LILADP: 


: .WORD 


LIlMST 




L$STA: ; 


.WORD 







LICO: : 


.WORD 







LIDTYP: 


: .WORD 







LIAPT: : 


.WORD 







LIDTP: • 


.WORD 


L$OISPATCH 




LiPRIO: 


: . WORD 







LIENVI: 


: .WORD 







LiEXPl: 


: . UORD 







LIMREV: 










* .BYTE 


3 






.BYTE 


3 




L5EF: : 


.WORD 









.WORD 







LISPC: : 


.WORD 







LJDEVPj 


; ,^ORD 


I IDVTYP 




L$REPP: 


: .WORD 


LIRPT 




LIEXP4: 


: .WORD 







LIEXP5: 


: . WORD 







LIAU! : : 


.WORD 


L IAU 




I *DUT; : 


.WORD 


L.IDU 




LSLUNs : 


.WORD 








7RQB1 
RF.V C 

00007© 

OO01OO 
00010J 
000104 
000106 

ooouo 

000112 
000114 
000116 
000120 
OOOi^t? 
OO0124 
0001?b 

000150 
0001 3 J* 
000134 
000136 
000140 

000142 

000144 

000146 

000150 

000152 
000154 

000156 

000160 

000162 
000164 
000166 
0O017O 



000000 
OOOCOO 
00000 3 
000004 
00000 7 
000012 
000015 
000020 
00002 3 
000026 
00QQ51 



PATCH 

OOOOOOG 

104035 

000130' 

OOOOOOG 

OOOOOOG 

OOOOOOG 

000164' 

000000 

000000 

000000 

OOOOOl 

0OOO01 

OOOOOOG 



RDRX DISK KQRMA1UH 
GLOBAL TEXT SECTION 



OOOOOOC 

172150 

000154 

000004 

000000 

OOOOOOC 

OOOOOO 

000003 



17 7 7 7 7 
177777 
177/// 



045 
000 
045 
101 
122 
124 
116 
120 
123 
101 



124 

116 
106 
115 
124 
107 
110 
111 
114 



000 

045 

117 
101 
111 
040 
131 
103 
040 









P ' 






t j .; 






fc-Mar-1984 14:16:44 






6-Mar-19ti4 14:16:36 


L*DESP;;.W0RD 


LtDESC 




I ILOAD 


t. WORD 


-73743 




LiETP: 


.WORD 


LIERRTBL 




L*ICP; 


.WORD 


L1INIT 




LICCP: 


.WORD 


LICLEAN 




L$ACPt 


.WORD 


LIAUTO 




LIPRT; 


.WORD 


LIPROT 




t ITEST 


: . WORD 







LIOLY: 


.WORD 







LIHIHE 


:. WORD 







LlCPUj 


.WORD 


1 




DIPCNT 


: . WORD 


1 




LIOISPATCMs s 






.WORD 


Tl 




ERRTYP 


; .BLKW 


1 




ERRNBR 


: .BLKW 


1 




ERRMSG 


i.BLKW 


1 




ERRBLK 


J .BLKW 


1 




LIHWLEN: : 






.WORD 


<<L$NOHW 


-I $HWLEN>/2> 


HW.IP.ADRS: : 






.WORD 


-5630 




HW. VECTOR: : 






.WORD 


154 




HW. BR. LEVEL: : 






.WORD 


4 




MW. UNIT. NO: : 






.WORD 







LINDHW; j.BLKW 


1 




LISWLEN: : 






.WORD 


<<L$N0SW 


-LiSWLEN>/2> 


SW. UNIT. NO:: 






.WORD 







SW.MOOE:: 






.WORD 


3 




LINOSW: j.BLKW 


1 




L$PROT:: .WORD 


-1 




.WORD 


- 1 




.WORD 


1 




.PSECT 


IPLITI. 


RO , D , UBL 


P. AAA; .ASCII 


/*T/<00> 




.ASCII 


<00» 




P.AABi .ASCII 


/*H*/ 




.ASCII 


/M'O/ 




.ASCII 


/RMA/ 




.ASCII 


/TTI' 




.ASCII 


/NG / 




.ASCII 


/PHY/ 




. ASC 1 1 


/SIC/ 






.ASCII 


/AL / 





SEQ 002/ 
VAX-11 Bliss-16 V4. 0-579 Pqqc 27 

OISK$USERH»[ YOUNG. FMT]2RQB1,BX6<4 C 17 J 



r* * 



C3 



ZRQBt 

REV C PATCH 



RDRX DISK FORMATTER 
GLOBAL TEXT SECTION 



6 -Mar -1964 14:16:44 
6-Mar-1984 14:16:36 



SEQ 0028 
VAX- 11 Bllss-16 V4. 0-579 p QQe 26 

DISKIUSER2I [ YOUNG. FMT ]ZRQB1.B16{4 ( 17 ) 



000054 
00003? 
000042 
000045 
000046 
000051 
000054 
00005 7 
0000t>2 
000065 
000070 
000073 
000076 
000101 
000104 
000107 
000112 
000115 
000120 
000123 
000126 
000131 
000134 
00013? 
000142 
000145 
000150 
000153 
000156 
000161 
000164 
000167 
000172 
000175 
000200 
000203 
000206 
000211 
000214 
000217 
000220 
000223 
000224 
000227 
0O232 
000235 
000240 

00024 3 
000246 
000251 
000254 

00025 7 
000260 



125 

124 
104 
000 
045 
101 
10? 
101 
125 
124 
104 
123 
120 
123 
101 
125 
124 
104 
123 
106 
115 
040 
117 
105 
045 
101 
122 
124 
117 
114 
105 
040 
062 
045 
122 
105 
117 
104 
102 
000 
045 
000 
105 
105 
125 
124 

117 
105 
117 
101 
105 
000 
125 



lib 
040 
063 

116 
114 

111 
114 
116 
040 
062 
045 
110 
111 
114 
116 
040 
062 
045 
117 
101 
101 
122 
104 
116 
106 
115 
040 
115 
105 
104 
045 
045 
101 
105 
103 
122 
040 
116 

116 

116 
122 
116 
040 
040 
040 
122 
124 
104 

123 



111 
045 
000 

045 
117 
103 
040 
111 
045 
045 
101 
131 
103 
040 
111 
045 
045 
101 
122 
124 
102 
124 
000 
045 
117 
101 
103 
120 
124 
054 
104 
123 
040 
126 
124 
105 
114 
123 

000 

124 
040 
111 
124 
102 
106 
115 
124 
000 

105 



.ASCII 


/UNI/ 


.ASCII 


/T */ 


.ASCII 


/D3/<00> 


.ASCII 


<00> 


P.AAC: .ASCII 


/#N*/ 


.ASCII 


/ALO/ 


.ASCII 


/GIC/ 


.ASCII 


/AL / 


.ASCII 


/UNI/ 


.ASCII 


/T */ 


.ASCII 


/D2#/ 


.ASCII 


/SKA/ 


.ASCII 


/PHY/ 


.ASCII 


/SIC/ 


.ASCII 


/AL / 


.ASCII 


/UNI/ 


.ASCII 


/T */ 


.ASCII 


/D2*/ 


.ASCII 


/SUA/ 


.ASCII 


/FOR/ 


.ASCII 


/MAT/ 


.ASCII 


/ AB/ 


.ASCII 


/ORT/ 


.ASCII 


/ED/<00> 


P.AAD: .ASCII 


/*N*/ 


.ASCII 


/AFO/ 


.ASCII 


/RMA/ 


.ASCII 


/T C/ 


.ASCII 


/OMP/ 


.ASCII 


/LET/ 


.ASCII 


/ED./ 


.ASCII 


/ #0/ 


.ASCII 


/2*S/ 


.ASCII 


/*A / 


.ASCII 


/REV/ 


.ASCII 


/ECT/ 


.ASCII 


/ORE/ 


.ASCII 


/O I / 


.MSCII 


/BNS/ 


.ASCII 


<00> 


P.AAE: .ASCII 


/#N/'00> 


.ASCII 


<00> 


P.AAF; .ASCII 


/ENT/ 


.ASCII 


/ER / 


.ASCII 


/UNI/ 


.ASCII 


/T T/ 


.ASCII 


/O B/ 


.ASCII 


/E F/ 


.ASCII 


/ORM/ 


.ASCII 


/ATT/ 


.ASCII 


/E0/<00> 


.ASCII 


<00^ 


P.AAUi .ASCII 


/USE/ 



D3 



7RQB1 




RORX DISK 


y ORM, 


REV C PA1CH 


GLOBAL TEXT SEi 


000263 


040 


105 


130 


0002fot* 


111 


123 


124 


000271 


111 


116 


107 


000.? 74 


040 


102 


101 


000277 


104 


040 


102 


000302 


114 


117 


103 


000305 


113 


040 


111 


000310 


116 


106 


117 


000313 


122 


115 


101 


000316 


124 


111 


117 


000321 


116 


000 


000 


000324 


125 


123 


105 


000327 


040 


104 


117 


000332 


12" 


116 


040 


000335 


114 


111 


116 


000340 


105 


040 


114 


000343 


117 


101 


104 


000346 


000 


000 




000350 


103 


117 


116 


000353 


124 


111 


116 


000356 


125 


105 


040 


000361 


111 


106 


040 


000364 


102 


101 


104 


000367 


040 


102 


114 


000372 


117 


103 


113 


000375 


040 


111 


116 


000400 


106 


117 


122 


000403 


115 


101 


124 


000406 


111 


117 


116 


000411 


040 


111 


123 


000414 


040 


111 


116 


0004 1 7 


101 


103 


103 


000422 


125 


122 


101 


000425 


124 


105 


000 


000130 


045 


116 


045 


0004 3 3 


101 


105 


130 


000436 


111 


123 


124 


00044 1 


ill 


116 


107 


000444 


040 


102 


101 


00044 7 


104 


040 


102 


000452 


114 


117 


103 


000455 


113 


040 


111 


000460 


116 


106 


117 


000463 


122 


115 


101 


000466 


124 


111 


117 


0004 7 1 


116 


040 


125 


0004 74 


125 


105 


104 


0004 7 7 


000 






000500 


105 


116 


124 


000503 


105 


122 


040 


000506 


o/o 


040 


103 


00051 1 


110 


101 


122 


000514 


101 


103 


124 



P.AAHj 



P.AAIj 



P.AAj; 



P , AAK j 



6-Mar~1984 14?16j44 
6 Mar -1984 14:16 5 36 



SEQ 0029 
VAX-11 81iss-16 V4. 0-579 Pao« 29 

01SK«USER2:f rOUNG.FMT]ZRQBl.B16»4 C17) 



.ASCII 


/ EX/ 


.ASCII 


/IST/ 


.ASCII 


ZING/ 


.ASCII 


/ BA/ 


.ASCII 


/D B/ 


.ASCII 


/LOC/ 


.ASCII 


/l< 1/ 


.ASCII 


/NFO/ 


.ASCII 


/RMA/ 


.ASCII 


/TIO/ 


.ASCII 


/N/<00><00> 


.ASCII 


/USE/ 


.ASCII 


/ DO/ 


.ASCII 


/WN / 


.ASCII 


/LIN/ 


.ASCII 


/E L/ 


.ASCII 


/OAD/ 


.ASCII 


<00><00> 


.ASCII 


/CON/ 


.ASCII 


/TIN/ 


.ASCII 


/UE / 


.ASCII 


/IF / 


.ASCII 


/BAD/ 


.ASCII 


/ BL/ 


.ASCII 


/OCK/ 


.ASCII 


/ IN/ 


.ASCII 


/TOR/ 


.ASCII 


/MAT/ 


.ASCII 


/ION/ 


.ASCII 


/ IS/ 


.ASCII 


/ IN/ 


.ASCII 


/ACC/ 


.ASCII 


/URA/ 


.ASCII 


/TE/<00> 


■ASCII 


/*N*/ 


.ASCII 


/AEX/ 


.ASCII 


/IST/ 


.ASCII 


ZING/ 


.ASCII 


/ BA/ 


.ASCII 


/D B/ 


.ASCII 


/LOC/ 


.ASCII 


/K 1/ 


.ASCII 


/Nf'O/ 


.ASCII 


/RMA' 


.ASCII 


/TIO/ 


.ASCII 


/N U/ 


.ASCII 


/SfcD/ 


.ASCII 


<00> 


.ASCII 


/ENT/ 


.ASCII 


/ER ' 


.ASCII 


/e c/ 


.ASCII 


/HAR/ 


.ASCII 


/ACT/ 



t: '5 



ZRQbl 

REV C PATCH 



RDR* DISK FORMATTER 
GLOBAL TEXT SECTION 



000517 
000522 

000525 

000530 
00053? 
000536 
000540 
000543 
000546 
000551 
000554 
000557 
00056;? 
000565 

0005 70 
000573 
000576 
000601 
000604 
000607 
000612 
000615 
000620 
000623 
000626 
000630 
000633 
O0063o 
000641 
000642 
000645 
000650 
000653 
000654 
C00657 
000662 
000665 
000670 
000673 

0006 76 
000701 
000704 
000707 
000712 
000715 
000 720 
000/23 
000724 
000/2/ 
000732 

0007 35 
000740 
000/43 



105 
123 
111 
040 
115 
122 
105 
105 
104 
105 
116 
115 
104 
131 
117 
101 
105 
105 
104 
105 
074 
055 
055 
131 
000 
060 
062 
065 
000 
064 
060 
06 7 
000 
04 5 
101 
115 
122 
040 
122 
117 
111 
102 
040 
122 
040 
104 
000 
045 
101 
124 
122 
040 
126 



122 
105 
101 
116 
10? 
000 
116 
122 
101 
040 
040 
055 
055 
040 
122 
124 
116 
122 
101 
040 
115 
104 
131 
131 
000 
061 
071 
070 

060 
062 
071 

116 
044 
124 
122 
125 
105 
107 
132 
114 
105 
117 
103 
105 

116 
044 
114 
122 
105 
10b 



040 
122 
114 
125 
105 

124 
040 
124 
HI 
115 
104 
131 
106 
115 
000 
124 
040 
124 
040 
115 
104 
131 
076 

055 
055 
000 

065 
061 
000 

045 
106 
105 
055 
116 
103 
116 
101 
105 
122 
122 
117 
000 

045 
106 

105 
055 

1 16 
114 



P.AAL 



P.AAM: 



P.AAN: 



P.AAO: 



P.AAUi 



P . AAR { 







6-Mar-l984 14:16:44 






6-Mar-1984 14:16:36 


.ASCII 


/ER / 




.ASCII 


/SER/ 




.ASCII 


/IAL/ 




.ASCII 


/ NU/ 




.ASCII 


/MBE/ 




.ASCII 


/R/<00> 




.ASCII 


/ENT/ 




.ASCII 


/ER / 




.ASCII 


/DAT/ 




.ASCII 


/E 1/ 




.ASCII 


/N M/ 




.ASCII 


/M-D/ 




.ASCII 


/D-Y/ 




.ASCII 


/Y F/ 




.ASCII 


/ORM/ 




.ASCII 


/AT/<00> 




.ASCII 


/ENT/ 




.ASCII 


/ER / 




.ASCII 


/DAT/ 




.ASCII 


/E / 




.ASCII 


/<MM/ 




.ASCII 


/-OD/ 




.ASCII 


/-YY/ 




.ASCII 


/YY>/ 




.ASCII 


< 00 >< 00 > 




.ASCII 


/Ol-/ 




.ASCII 


/29-/ 




.ASCII 


/58/<00> 




.ASCII 


<00> 




.ASCII 


/4C5/ 




.ASCII 


/021/ 




.ASCII 


/79/<00> 




.ASCII 


<00> 




.ASCII 


/«Ntf/ 




.ASCII 


/Air/ 




.ASCII 


/MTE/ 




.ASCII 


/RH / 




.ASCII 


/ UN/ 




.ASCII 


/RtC/ 




.ASCII 


/OGN/ 




.ASCII 


/IZA/ 




.ASCII 


/BLE/ 




.ASCII 


/ ER/ 




.ASCII 


/ROR/ 




.ASCII 


/ CO/ 




.ASCII 


/Of /<00> 




.ASCII 


*'00> 




.ASCII 


/#N*/ 




.ASCII 


/A$f / 




.ASCII 


/TIE/ 




.ASCII 


/RR / 




.ASCII 


/ EN/ 




, ASC 1 1 


/VEL/ 





rt , ns , SEQ 0050 

VAX-11 Bliss-16 V4, 0-579 Paa« IQ 

DISKJUSER2 ; [ YOUNG . FMT 1ZRQB1 .B16 ; 4 C17J 



ZRUB1 

REV C r/UCH 



RDRX DISK FORMATTER 
GLOBAL TEXT SECTION 



00074b 
0007M 
000 7S4 
000757 
000762 
000765 
000770 
0007 73 
000776 
001001 
001004 
001007 
00101c? 
001015 
001020 
001023 
001026 
001031 
001034 
001037 
00104? 
001045 
001050 
001053 
001056 
001061 
001064 
001067 
001072 
001075 
001100 
001102 
001105 
001110 
001113 
001116 
001121 
001124 
001127 
001132 
001135 
001140 
001143 
001146 
001151 
001154 
001156 
001161 
001164 
00116^ 
001172 
001175 
001200 



117 

057 
103 
124 
105 
040 
101 
124 
117 
124 
105 
124 
045 
101 
124 
122 
040 
126 
117 
057 
103 
124 
122 
105 
120 

HI 
040 
040 

115 
125 
000 
045 
101 
124 
122 
040 
116 
117 
105 
122 
040 
104 
101 
120 
111 
000 
045 
101 
124 
122 
040 
116 
117 



120 
120 
113 
040 
101 
050 
122 
131 
122 
111 
117 
051 
116 
044 
114 
122 
105 
105 
120 
120 
113 
040 
111 
040 
101 
124 
117 
124 
105 
124 
000 
116 
044 
114 
122 
103 
124 
114 
122 
117 
101 
040 
115 
101 
124 
000 
116 
044 
114 
122 
103 
124 
114 



105 
101 
105 
122 
104 
120 
111 
040 
040 
115 
125 
000 
045 
106 
105 
055 
116 
114 
105 
101 
105 
127 
124 
050 
122 
131 
122 
111 
117 
051 

045 
106 
105 
055 

117 

122 
114 
040 

115 
116 
122 
040 
122 
131 

045 
106 
105 
055 

117 
122 
114 



P.AAS: 



P.AAT: 



P.AAU: 





K 3 






6-Mar-1984 


14:16:44 




6-Mor-1984 


14:16:36 


.ASCII 


/OPE/ 




.ASCII 


<57>/PA/ 




.ASCII 


/CKE/ 




.ASCII 


/T R/ 




.ASCII 


/EAD/ 




.ASCII 


/ (P/ 




.ASCII 


/ARIZ 




.ASCII 


/TY / 




.ASCII 


/OR / 




.ASCII 


/TIM/ 




.ASCII 


/EOU/ 




.ASCII 


/T)/<00> 




.ASCII 


/#N*/ 




.ASCII 


/A$F/ 




.ASCII 


/TIE/ 




.ASCII 


/RR-/ 




.ASCII 


/ EN/ 




.ASCII 


/VEL/ 




.ASCII 


/OPE/ 




.ASCII 


<57>/PA/ 




.ASCII 


/CKE/ 




.ASCII 


/T W/ 




.ASCII 


/RIT/ 




.ASCII 


/E (/ 




.ASCII 


/PAR/ 




.ASCII 


/ITY/ 




.ASCII 


/ OR/ 




.ASCII 


/ n/ 




.ASCII 


/MEO/ 




.ASCII 


/UT)/ 




.ASCII 


< 00**00* 




.ASCII 


/+\u/ 




.ASCII 


/AJF/ 




.ASCII 


/TLE/ 




.ASCII 


/RR / 




.ASCII 


/ CO/ 




.ASCII 


/NTR/ 




.ASCII 


/Oil / 




.ASCII 


/ER / 




.ASCII 


/ROM/ 




.ASCII 


/ AN/ 




.ASCII 


/D R/ 




.ASCII 


/AM / 




.ASCII 


/PAR/ 




.ASCII 


/ITW 




.ASCII 


<00><00> 




.ASCII 


/#N*/ 




.ASCII 


/A$F/ 




.ASCII 


/TLE/ 




.ASCII 


/RR / 




.ASCII 


/ CO/ 




.ASCII 


/NTR/ 




.ASCII 


/OIL/ 





SEQ 0031 
VAX-11 Bliss-16 V4. 0-579 Page 31 

DISK$USER2s[ YOUNG. FMT]ZRQBl.B16j4 C 17) 



G3 



ZRQB1 




RDRX DISK 


FORM, 


RF.V C PATCH 


GLOBAL TEXT SEi 


00120o 


105 


122 


040 


001206 


122 


101 


115 


001211 


040 


120 


101 


001214 


122 


HI 


124 


001217 


131 


000 


000 


001222 


045 


116 


045 


001225 


101 


044 


106 


001230 


124 


114 


105 


001253 


122 


122 


055 


001236 


040 


103 


117 


001241 


116 


124 


122 


001244 


117 


114 


114 


00124? 


105 


122 


040 


001252 


122 


117 


115 


001255 


040 


120 


101 


001260 


\22 


111 


124 


001263 


131 


000 


000 


001266 


045 


116 


045 


001271 


101 


044 


106 


001274 


124 


114 


105 


001277 


122 


122 


055 


001302 


040 


122 


111 


001305 


116 


107 


040 


001310 


122 


105 


101 


001313 


104 


040 


050 


001316 


120 


101 


122 


001321 


HI 


124 


131 


001324 


040 


117 


122 


001327 


040 


124 


111 


001332 


115 


105 


117 


001335 


125 


124 


051 


001340 


000 


000 




001342 


045 


116 


045 


001345 


101 


044 


106 


001350 


124 


114 


105 


001353 


122 


122 


055 


001356 


040 


122 


111 


001361 


lib 


107 


040 


001 364 


12/ 


122 


111 


001367 


124 


105 


040 


001372 


050 


120 


101 


001375 


122 


111 


124 


001400 


131 


040 


117 


001403 


122 


040 


124 


001406 


111 


115 


105 


001411 


117 


125 


124 


001414 


051 


000 




001416 


04 5 


116 


045 


001421 


101 


044 


106 


001424 


124 


114 


105 


001427 


122 


122 


055 


0014 V 


040 


111 


116 


001435 


124 


105 


122 



P. AAV: 



P.AAW: 



P.AAXs 



P.AAY; 



6-Mar-1984 14:16;44 
6 -Mar -1984 14 ; 16 : 36 



S£Q 0032 
VAX-H Bl.ss-16 V4.0-579 Page 32 

DISK$USER2j[ YOUNG. FMT]ZRQB1.B16;4 (17) 



.ASCII 


/ER / 


.ASCII 


/RAM/ 


.ASCII 


/ PA/ 


•ASCII 


/RIT/ 


.ASCII 


/Y/<00><00> 


.ASCII 


/*N*/ 


.ASCII 


/A*F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ CO/ 


.ASCII 


/NTR/ 


.ASCII 


/OLL/ 


.ASCII 


/ER / 


.ASCII 


/ROM/ 


.ASCII 


/ PA/ 


.ASCII 


/RIT/ 


.ASCII 


/Y/<00*<00> 


.ASCII 


/*N*/ 


.ASCII 


/A*F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ RI/ 


.ASCII 


/NG / 


.ASCII 


/REA/ 


.ASCII 


/D (/ 


.ASCII 


/PAR/ 


.ASCII 


/ITY/ 


.ASCII 


/ OR/ 


.ASCII 


/ TI/ 


■ASCII 


/MEO/ 


.ASCII 


AJTV 


.ASCII 


<00><00> 


.ASCII 


/*N*/ 


.ASCII 


/A$F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR / 


.ASCII 


/ RI/ 


.ASCII 


/NG / 


.ASCII 


'WRI/ 


.ASCII 


/TE / 


.ASCII 


/(PA/ 


.ASCII 


/RIT/ 


.ASCII 


/Y 0/ 


.ASCII 


/R T/ 


.ASCII 


/IMfc/ 


.ASCII 


/OUT/ 


.ASCII 


/)/<00> 


.ASCII 


/*N|#/ 


.ASCII 


/All / 


.ASCII 


/TIE/ 


.ASCII 


/RR / 


.ASCII 


/ IN/ 


♦ASCII 


/TtR/ 



I » -7 



H3 



ZRQB1 

REV C PATCH 



RDRX DISK FORMAT TtH 
GLOBAL TE, V T SECTION 



001440 
001443 
001446 
001451 
001454 
00145? 
001462 
001465 
001470 
001473 
001476 
00150L 
001504 
001507 
00151? 
001515 
001516 
001521 
001524 
001527 
001532 
001535 
001540 

001546 
001551 
001554 
001557 
001562 
001565 
001570 
001573 
001576 
001601 
001604 
001607 
001612 
001615 
001620 
001623 
001624 
001627 
001632 
001635 
001640 
001643 
001646 
001651 
001654 
001657 
001662 
OOUit.5 
001670 



122 
124 

101 
105 
045 

101 
124 
122 
040 
123 
101 
105 
040 
115 
125 
000 
045 
101 
124 
122 
040 
1C5 
124 
111 
124 
130 
105 
104 
045 
101 
124 
122 
040 
111 
123 
101 
105 
105 
11/ 
000 
045 
101 
124 
122 
040 
101 
11/ 
111 
103 
124 
114 
122 
101 



125 
040 
123 
122 
116 
044 
114 
122 
110 
124 
103 
123 
124 
105 
124 

116 
044 
114 
122 
103 
104 
040 
115 
040 
103 
104 
000 
116 
044 
114 
122 
125 
102 
040 
123 
122 
122 
122 

116 
044 

114 
122 

104 
107 
123 
103 
117 
122 
114 
040 
124 



120 
115 
124 
000 
045 
106 
105 
055 
117 
040 
103 
123 
111 
117 
000 

045 
106 
105 
055 
122 
111 
114 
111 
105 
105 
105 
000 
045 
106 
105 
055 
116 
125 
115 
124 
040 
122 
000 

045 

106 
105 
055 
111 
116 
124 
040 
116 
11 7 
105 
106 
101 



P.AAZ 



P. ABA: 



P. ABB: 



P.A8C: 





6-Mor-1984 14:16:44 




6-Mar-1984 14:16:36 


.ASCII 


/RUP/ 


.ASCII 


/T M/ 


.ASCII 


/AST/ 


.ASCII 


/ER/<00> 


.ASCII 


/#N*/ 


.ASCII 


/ASFV 


.ASCII 


/TLE/ 


.ASCII 


/RT / 


.ASCII 


/ HO/ 


.ASCII 


/ST / 


.ASCII 


/ACC/ 


ASCII 


/ess/ 


.ASCII 


/ TI/ 


.ASCII 


/MEO/ 


.ASCII 


/UT/<00> 


.ASCII 


<00> 


.ASCII 


/*N*/ 


.ASCII 


/A*F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ CR/ 


.ASCII 


/EDI/ 


.ASCII 


/T L/ 


.ASCII 


/IMI/ 


.ASCII 


/T E/ 


.ASCII 


/XCE/ 


.ASCII 


/F.DE/ 


.ASCII 


/D/<00><00> 


.ASCII 


/*N*/ 


.ASCII 


/AtFY 


.ASCII 


/TLE/ 


.ASCII 


/RR / 


.ASCII 


/ UN/ 


.ASCII 


/IBU/ 


.ASCII 


/S M/ 


.ASCII 


/AST/ 


.ASCII 


/ER / 


.ASCII 


/ERR/ 


.ASCII 


/0R/<00> 


.ASCII 


<00> 


.ASCII 


/*N#/ 


.ASCII 


/At*'/ 


.ASCII 


/TIE/ 


.Arc i i 


/RR / 


.ASCII 


/ 01/ 


.ASCII 


/AGN/ 


.ASCII 


/OST/ 


.ASCII 


/IC / 


.ASCII 


/CON/ 


.ASCII 


/TRQ/ 


.ASCII 


/Ll.E/ 


.ASCII 


/R F / 


♦ASCII 


/ATA/ 



SEQ 0033 
VAX-11 Bliss-16 V4. 0-579 Page 33 

DISK $USER2:[ YOUNG. FMT1ZRQB1.B16; 4 CI7) 



,. .j, 



] 3 



ZRUB1 
REV C 

001675 

0016/6 

ooi/oi 

001704 
001/0? 

ooi n> 

001 7 IS 
OC 1 ??.Q 
001 723 
001 7?6 

ooi 7 :m 

001754 

ooi rs: 

001/42 
001/45 
001 /so 
001 /52 
00171)5 
001760 
001763 
001766 
001771 
OC1774 
001777 
002002 
002005 
002010 
002015 
002016 
002021 
002024 
002026 
002031 
002034 
00203 7 
002042 
002045 
002050 
00205? 
002056 
0020*1 
002064 
00206 7 
002072 
0020 75 
002100 
002103 
002106 
002111 
002114 
002117 
002122 
002125 



PATCH 

114 
122 
122 
045 
101 
124 
122 
040 
123 
125 
111 
040 
117 
124 
105 
124 
045 
101 
124 
122 
040 
126 
111 
103 
116 
124 
116 
104 
124 
111 
000 
045 
101 
124 
122 
040 
124 
122 
124 
122 
105 
045 
101 
124 
122 
040 
111 
105 

116 
040 
101 
12 7 
124 



RORX DISK FORMAT TER 
GLOBAL TEXT SECTION 



6-M«r~1984 14;16 : 44 
6-Mar-19ti4 14:16:36 



SEQ 0034 
VAX-11 Bliss 16 V4. 0-579 Page 34 

DISI<$USER2:[Y0UNG,FMT]ZRQBl,B16j4 (17) 



040 

122 
000 
116 
044 

114 
122 
111 
124 
103 
117 
114 
120 
111 
117 
000 
116 
044 
114 
122 

in 

101 
104 
117 
105 
111 
040 
105 
111 
105 
000 
116 
044 
114 
122 
111 
105 
125 
040 
111 
000 
116 
044 
114 
122 
115 
116 
116 
103 
122 
104 
122 
105 



105 
117 
000 
045 
106 
105 
055 
116 
122 
124 
116 
117 
040 
115 
125 

045 
106 
105 
055 
116 
114 
040 
116 
103 
117 
111 
116 
106 
122 

045 
106 
105 
055 

116 
122 
120 
127 
124 
000 
045 
106 
105 
055 
101 
124 
101 
105 
105 
05? 
Ill 
040 



P.ABD 



P.ABE 



P.ABF: 



P.ABGi 



.ASCII 


/L E/ 


.ASCII 


/RRO/ 


.ASCII 


/R/<00"*<00> 


.ASCII 


/#N*/ 


.ASCII 


/A$FV 


.ASCII 


/TLE/ 


.ASCII 


/RR / 


.ASCII 


/ IN/ 


.ASCII 


/SIR/ 


.ASCII 


/UCT/ 


.ASCII 


/ION/ 


.ASCII 


/ 1.0/ 


.ASCII 


/OP / 


.ASCII 


/TIM/ 


.ASCII 


/EOU/ 


.ASCII 


/T/<00* 


.ASCII 


/*N*/ 


.ASCII 


/AtF / 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ IN/ 


.ASCII 


/VAL/ 


.ASCII 


/ID / 


.ASCII 


/CON/ 


.ASCII 


/NEC/ 


.ASCII 


/TIO/ 


.ASCII 


/N 1/ 


.ASCII 


/DEN/ 


.ASCII 


/TIF/ 


.ASCII 


/IER/ 


.ASCII 


<00><00> 


.ASCII 


/*N*/ 


.ASCII 


/A$F/ 


.ASCII 


/TLE!/ 


.ASCII 


/RR / 


.ASCII 


/ IN/ 


.ASCII 


/TER/ 


.ASCII 


/RUP/ 


.ASCII 


/T W/ 


.ASCII 


/RIT/ 


.ASCII 


/E/<00><00* 


.ASCII 


/*N*/ 


.ASCII 


/AJF/ 


.ASCII 


/TL.F./ 


.ASCII 


/RR / 


.ASCII 


/ MA/ 


.ASCII 


/INT/ 


.ASCII 


/frNA/ 


.ASCII 


/NCE/ 


.ASCII 


/ RE/ 


.ASCII 


/AD/<V/> 


. ASC 1 1 


/mi/ 


.ASCII 


/TE / 



J 3 



ZRQB1 




RORX DI 


SK FORM, 


REV C PATCH 


GLOBAL 


TEXT SEI 


oo.: 1 30 


111 


116 


126 


002135 


101 


114 


111 


00.7136 


104 


040 


122 


002141 


105 


107 


111 


002144 


117 


116 


040 


00214 7 


111 


104 


105 


002152 


116 


124 


111 


002155 


106 


111 


105 


002160 


122 


000 




002162 


045 


116 


045 


002165 


101 


044 


106 


002170 


124 


114 


105 


002173 


122 


122 


055 


002176 


040 


115 


101 


002201 


111 


116 


124 


002204 


105 


116 


101 


00220 7 


116 


103 


105 


002212 


040 


127 


122 


002215 


111 


124 


105 


002220 


040 


114 


117 


002223 


101 


104 


040 


002226 


124 


117 


040 


002231 


116 


117 


life 


002234 


055 


114 


117 


002237 


101 


104 


101 


00224? 


102 


114 


105 


002245 


040 


103 


117 


002250 


116 


124 


122 


002253 


117 


114 


114 


002256 


105 


122 


000 


002261 


000 






002262 


045 


116 


045 


002265 


101 


044 


106 


0022 /0 


124 


114 


105 


002273 


122 


122 


055 


0022 76 


040 


103 


117 


002301 


116 


124 


122 


002304 


117 


114 


114 


00230 7 


105 


122 


040 


002312 


122 


101 


115 


002315 


040 


105 


122 


002320 


122 


117 


122 


002323 


040 


050 


116 


002326 


117 


116 


055 


002331 


120 


101 


122 


002334 


111 


124 


131 


00233 7 


051 


000 


000 


002342 


045 


116 


045 


002345 


101 


044 


106 


002350 


124 


114 


105 


00235 5 


122 


122 


055 


002 356 


040 


111 


116 


002361 


111 


124 


040 



P.ABH: 



P.ABI: 



P.ABJj 



6 Mar -1984 14:16:44 
6-Mar-19ti4 14:16:36 



fȣQ 0035 
VAX-11 BUss-16 V4. Q-S79 Page 35 

DISK?USER2i[Y0UNU.FMT]ZRQBl.B16j4 (17; 



.ASCII 


/INV/ 


.ASCII 


/ALI/ 


.ASCII 


/D R/ 


.ASCII 


/F-GI/ 


.ASCII 


/ON / 


.ASCII 


/IDE/ 


.ASCII 


/NTI/ 


.ASCII 


/FIE/ 


.ASCII 


/R/<00> 


.ASCII 


/#N*/ 


.ASCII 


/AiF/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ HA/ 


.ASCII 


/INT/ 


.ASCII 


/ENA/ 


.ASCII 


/ncf/ 


.ASCII 


/ UR/ 


.ASCII 


/ITE/ 


.ASCII 


/ 10/ 


.ASCII 


/AD / 


.ASCII 


/TO / 


.ASCII 


/NON/ 


.ASCII 


/-LO/ 


.ASCII 


/ADA/ 


.ASCII 


/BLE/ 


.ASCII 


/ CO/ 


.ASCII 


/NTR/ 


.ASCII 


/OIL/ 


.ASCII 


/ER/<00> 


.ASCII 


<00> 


.ASCII 


/UN*/ 


.ASCII 


/A$F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR / 


.ASCII 


/ CO/ 


.ASCII 


/NTR/ 


.ASCII 


/on./ 


.ASCII 


/ER / 


.ASCII 


/RAM/ 


.ASCII 


/ ER/ 


.ASCII 


/ROR/ 


.ASCII 


/ (N/ 


.ASCII 


/ON / 


.ASCII 


/PAR/ 


.ASCII 


/lit/ 


.ASCII 


/)/<00><00> 


.ASCII 


/#N*/ 


.ASCII 


/A$E/ 


.ASCII 


/Tt E/ 


.ASCII 


/RR f 


.ASCII 


/ IN/ 


» ASCI I 


/n / 



1/ t 



I<3 



ZRQB1 




RDRX DISK 


FORM. 


REV C PATCH 


GLOBAL TEXT SEi 


003364 


123 


105 


121 


00236? 


125 


105 


116 


ooar U 


103 


105 


040 


002375 


105 


122 


122 


002400 


117 


122 


000 


002403 


000 






002404 


045 


116 


045 


00240 7 


101 


044 


106 


002412 


124 


114 


105 


0024 IS 


122 


122 


055 


002420 


040 


110 


111 


002423 


107 


110 


055 


002426 


114 


105 


126 


0024 31 


105 


114 


040 


002434 


120 


122 


ll 7 


0024 3 7 


124 


117 


103 


002442 


117 


114 


040 


002445 


111 


116 


103 


002450 


117 


115 


120 


002453 


101 


124 


111 


002456 


102 


111 


114 


002461 


111 


124 


131 


002464 


040 


105 


122 


002467 


122 


117 


122 


0024 72 


000 


000 




0024 74 


045 


116 


045 


002477 


101 


044 


106 


002502 


124 


114 


105 


002505 


122 


122 


055 


002510 


040 


120 


125 


002513 


122 


107 


105 


002516 


057 


120 


117 


002521 


114 


114 


040 


002524 


110 


101 


122 


002527 


104 


127 


101 


002532 


122 


105 


040 


002535 


106 


101 


111 


002540 


114 


125 


122 


002543 


105 


000 


000 


002546 


000654' 






002550 


000 724' 






002552 


001012' 






002554 


001102' 






002556 


001156' 






002560 


001222' 






002562 


001266' 






002564 


001342' 






C02566 


001416' 






0025 70 


001454' 






002572 


001516' 






002574 


001562' 






0025/6 


001624' 






002600 


001704' 







P.ABK; 



P.ABL; 



P.AAPj 



6-Mar-1984 14;16;44 
6-Mar-1984 14.* 16: 36 



StQ 0036 
VAX -11 fills?; 16 V4. 0-579 Paae "56 

DISK$USER2sC YOUNG. FMT]ZRQB1,B16|4 (17) 



.ASCII 


/SEQ/ 


.ASCII 


/UEN/ 


.ASCII 


/CE / 


.ASCII 


/ERR/ 


.ASCII 


/0R/<00> 


.ASCII 


<00> 


.ASCII 


/#N*/ 


.ASCII 


/A*F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ HI/ 


.ASCII 


/GH - / 


.ASCII 


/LEV/ 


.ASCII 


/EL / 


.ASCII 


/PRO/ 


.ASCII 


/TOC/ 


.ASCII 


/OL / 


.ASCII 


/INC/ 


.ASCII 


/OMP/ 


.ASCII 


/ATI/ 


.ASCII 


/Bit/ 


.ASCII 


/ITY/ 


.ASCII 


/ ER/ 


.ASCII 


/ROR/ 


.ASCII 


<00><00> 


.ASCII 


/•N*/ 


.ASCII 


/A$F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR - / 


.ASCII 


/ PU/ 


.ASCII 


/RGE/ 


.ASCII 


<57>/P0/ 


.ASCII 


/LL / 


.ASCII 


/HAR/ 


.ASCII 


/DWA/ 


.ASCII 


/RE / 


.ASCII 


/FAI/ 


.ASCII 


/LUR/ 


.ASCII 


/E/'OOwOO> 


.WORD 


P . AAQ 


.WORD 


P.AAR 


.WORD 


P.AA8 


.WORD 


P.AAT 


.WORD 


P.AAU 


.WORD 


P. AAV 


.WORO 


P . AAW 


. WORD 


P.AAX 


. WORD 


P.AAt 


.WORD 


P , AA_> 


.WORD 


P. ABA 


.WORD 


P. ABB 


.WORD 


P. ABC 


.WORD 


P.ABD 



i y 



L. 



7RQB1 
REV C 

002602 
002604 
002606 
002610 
002612 
002614 
002616 
002620 
002622 
002625 
002630 
002635 
002636 
002641 
002644 
00264 7 
002652 
002655 
002660 
002663 
0026S6 
0026 71 
002674 
0026 7 7 
002702 
002704 
002 707 
002712 
002715 
002720 
002723 
002726 
002731 
002734 
002737 
002742 
002745 
002750 
002753 
002756 
002761 
002764 
002767 
002 772 
002775 
003000 
003003 
003006 
003011 
003014 
003017 
003022 
003025 



RORX DISK FORMAT TfcR 
PATCH GLOBAL TEXT SECTION 

001752' 
002026' 
002064* 
002162' 
002262' 
002342' 
002404- 
0024 74 ' 

045 116 045 P. ABM; 

101 044 106 

124 114 105 

122 122 055 

040 111 116 

111 324 040 

103 ti; 104 

105 040 122 

105 055 105 

116 124 105 
122 105 104 
040 104 125 

105 040 124 

117 040 120 
127 122 040 

106 101 111 

1 14 000 

045 116 045 P.ABN: 

101 044 106 

124 114 105 

122 122 055 
040 101 102 
117 122 124 
111 116 107 
040 110 117 

123 124 040 
101 116 104 
040 122 105 

115 117 124 
105 040 120 
122 117 107 

122 101 115 

123 000 000 

045 U6 045 P.ABO; 

101 044 106 

124 114 105 
122 122 055 
040 111 H4 
114 105 107 

101 114 040 

116 125 115 

102 105 122 
040 11/ 106 
040 125 116 
111 124 123 



6 Mar -1984 14:16:44 
6~Mnr-l9ti4 14:16:36 



VAX -11 Bliss -16 V4 .0-579 
DISK$USER2:C YOUNG, FMT]ZRQB1.B16;4 



1 003 7 
Page 37 
(17) 



.WORD 


P.ABE 


.WORD 


P.ABF 


.UORU 


P.ABG 


.WORD 


P.ABH 


.WORD 


P.ABI 


.WORD 


P.ABJ 


.WORD 


P.ABK 


.WORD 


P.ARL 


.ASCII 


/#N*/ 


.ASCII 


/A$F/ 


.ASCII 


/fLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ IN/ 


.ASCII 


/IT / 


.ASCII 


/COD/ 


.ASCII 


/E R/ 


.ASCII 


/E-E/ 


.ASCII 


/NTE/ 


.ASCII 


/RED/ 


.ASCII 


/ DU/ 


.ASCII 


/E 17 


.ASCII 


/O P/ 


.ASCII 


/WR / 


.ASCII 


/FAI/ 


.ASCII 


/L/<00> 


.ASCII 


/*N*/ 


.ASCII 


/A$F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ AB/ 


.ASCII 


/ORT/ 


.ASCII 


/INu/ 


.ASCII 


/ HO/ 


.ASCII 


/ST / 


.ASCII 


/AND/ 


.ASCII 


/ RE/ 


.ASCII 


/MOT/ 


.ASCII 


/E P/ 


.Ascr 


/ROG' 


.ASCII 


/RAM/ 


.ASCII 


/S/<00><00> 


.ASCII 


/*N*/ 


.ASCII 


/AtF "7 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ 11/ 


.ASCII 


/LEG/ 


.ASCII 


/AL. / 


.ASCII 


/NUM/ 


.ASCII 


/BER/ 


.ASCII 


/ OF/ 


. ASC 1 1 


/ UN' 


•ASCII 


/ITS/ 



M ^ 



M3 



ZRQBl 

REV C PATCH 



RDRX OISK FORMATTER 
GLOBAL TEXT SECTION 



6-Nar-t984 14j16:44 
6-Mor-1984 14;16:36 



VAX-11 Bliss -If. V4. 0-579 
DISK*USER2;r YOUNG. FMT]ZRQB1,B16|4 



SEQ 0038 
Page 38 
C17) 



003030 
003033 
003036 
003041 
003042 
003045 
003050 
003053 
003056 
003061 
003064 
003067 
00307? 
003075 
003100 
003103 
003106 
003111 
003114 
003117 
0031^ 
003125 
003130 
003133 
003134 
003137 
003142 
003145 
003150 
003153 
003156 
003161 
003164 
003167 
003172 
003175 
003200 
003203 
003206 
003211 
003214 
003216 
003221 
003224 
00322/ 
003232 
003235 
003240 
003243 
003246 
003251 
0032^4 
003257 



040 
114 
124 
000 
045 
101 
124 
122 
040 
115 
040 
040 
130 
105 
125 
124 
120 
040 
122 
124 
107 
105 
111 
000 
045 
101 
124 
122 
040 
122 
103 
124 
114 
122 
116 
111 
111 
124 
116 
122 
122 
045 
101 
124 
122 
040 
117 
103 
040 
117 
124 
116 
122 



123 
105 
105 

116 
044 
114 
122 
114 
111 
117 
123 
124 
116 
116 
123 
105 
106 
115 
111 
040 
123 
117 

116 
044 
114 
122 
122 
130 
117 
122 
114 
040 
111 
101 
132 
111 
040 
122 
000 
116 
044 
114 
122 
120 
124 
117 
126 
114 
111 
040 
122 



105 
103 
104 

045 
106 
10b 
055 
111 
124 
106 
111 
105 
040 
111 
040 
122 
117 
101 
116 
123 
123 
116 

045 

106 
105 
055 
104 
040 
116 
117 
105 
111 
124 
114 
101 
117 
105 
117 

045 

106 
105 
055 
122 
117 
114 
111 
101 
11/ 
105 
117 



P.ABP: 



P.ABQ; 



P.ABR; 



•ASCII 


/ SE/ 


.ASCII 


/LEC/ 


.ASCII 


/TED/ 


.ASCII 


<00> 


.ASCII 


/*N«/ 


.ASCII 


/A$F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ LI/ 


.ASCII 


/MIT/ 


.ASCII 


/ OF/ 


.ASCII 


/ SI/ 


.ASCII 


/XTE/ 


.ASCII 


/EN / 


.ASCII 


/UNI/ 


.ASCII 


/TS / 


.ASCII 


/PER/ 


.ASCII 


/ FO/ 


.ASCII 


/RMA/ 


.ASCII 


/TIN/ 


.ASCII 


/G S/ 


.ASCII 


/ESS/ 


.ASCII 


/ION/ 


.ASCII 


<00> 


.ASCII 


/*N*/ 


.ASCII 


/A*F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ RD/ 


.ASCII 


/RX / 


.ASCII 


/CON/ 


.ASCII 


/TRO/ 


.ASCII 


/LLE/ 


.ASCII 


/R 1/ 


.ASCII 


/NIT/ 


.ASCII 


/IAL/ 


.ASCII 


/ilk/ 


.ASCII 


/TIO/ 


.ASCII 


/N E/ 


.ASCII 


/RHO/ 


.ASCII 


/R/<00> 


.ASCII 


/*H*/ 


.ASCII 


/IMF/ 


.ASCII 


/TLE/ 


.ASCII 


/RR •/ 


.ASCII 


/ PR/ 


.ASCII 


/OTO/ 


.ASCII 


/COL/ 


.ASCII 


/ vi/ 


.ASCII 


/OLA/ 


.ASCII 


/TIO/ 


.ASCII 


/N E/ 


.ASCII 


/RRO/ 



M S 



N3 



ZRQB1 

REV C PATCH 



RORX DISK FORMATTER 
GLOBAL TEXT SECTION 



6-Mar~1984 14*16:44 
6-Mnr-1984 14:16:36 



SEQ 0039 
VAX -11 Bliss -16 V4.0-S79 Page 39 

DISK$USER2:[Y0UI.;,FMi ]ZRQBl.B16j4 C17) 



003262 
003264 
00326? 
003272 
003275 
003300 
003303 
003306 
003311 
003314 
003317 
003322 
003325 
003330 
003333 
003336 
003340 
003343 
003346 
003351 
003354 
003357 
003362 
003364 
003367 
003372 
003375 
003400 
003403 
003406 
003411 
003414 
003416 
003421 
003424 
003427 
003432 
003435 
003440 
003443 
003446 
003451 
003454 
003457 
003462 
003465 
0034 '0 
00 3 A. 3 
0034.6 
0O35C1 
CO 3504 
00350 7 
003512 



122 
045 
101 
124 
122 
040 
115 
116 
101 
117 
101 
101 
116 
040 
122 
000 
111 
122 
111 
105 
101 
122 
123 
111 
105 
125 
040 
103 
122 
104 
105 
000 
102 
040 
121 
123 
114 
105 
123 
124 
122 
121 
123 
117 
040 
114 
101 
114 
125 
105 
101 
056 
116 



000 
116 
044 
114 
122 
103 
115 
111 
124 
116 
122 
040 
111 
105 
117 
000 
120 
105 
123 
122 
104 
105 
000 
116 
122 
120 
126 
124 
040 
104 
123 
000 
125 
122 
125 
124 
105 
114 
117 
127 
105 
125 
124 
116 
.117 
131 
120 
131 
116 
122 
120 
040 
124 



045 
106 
105 
055 
117 
125 
103 
111 
040 
105 
111 
124 
122 
122 

040 
107 
124 
040 
104 
123 

124 
122 
124 
105 

117 
101 
122 
123 

123 
105 
105 
040 
126 
000 
106 
101 
040 
105 

m 

123 
116 
040 
120 
040 
104 
040 
124 
105 
105 



P.ABS: 



P.ABT: 



P.ABU: 



P.ABV: 



P.ABW; 



.ASCII 


/R/<00> 


.ASCII 


/*N*/ 


.ASCII 


/ASF/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ CO/ 


.ASCII 


/HMD/ 


.ASCII 


/NIC/ 


.ASCII 


/ATI/ 


.ASCII 


/ON / 


.ASCII 


/ARE/ 


.ASCII 


/A 1/ 


.ASCII 


/NIT/ 


.ASCII 


/ ER/ 


.ASCII 


/ROR/ 


.ASCII 


<00><00> 


.ASCII 


/IP / 


.ASCII 


/REG/ 


.ASCII 


/IST/ 


.ASCII 


/ER / 


.ASCII 


/ADD/ 


■ASCII 


/RES/ 


.ASCII 


/S/<00> 


.ASCII 


/INT/ 


.ASCII 


/ERR/ 


.ASCII 


/UPT/ 


.ASCII 


/ VE/ 


.ASCII 


/CTO/ 


.ASCII 


/R A/ 


.ASCII 


/DDR/ 


.ASCII 


/ESS/ 


.ASCII 


<00><00> 


.ASCII 


/BUS/ 


.ASCII 


/ RE/ 


.ASCII 


/QUE/ 


.ASCII 


/ST / 


.ASCII 


/LEV'' 


.ASCII 


/El./<00> 


.ASCII 


/SOF/ 


.ASCII 


/TWA/ 


.ASCII 


/RF / 


.ASCII 


/QUE/ 


.ASCII 


/STI/ 


.ASCII 


/ONS/ 


.ASCII 


/ ON/ 


.ASCII 


/LY / 


.ASCII 


/A2P/ 


.ASCII 


/L Y / 


.ASCII 


/UNO/ 


.ASCII 


/ER / 


.ASCII 


/APT/ 


.ASCII 


/. E/ 


.ASCII 


/NTE/ 



IV\ 



ZRQBl 
REV C 

003515 
00 3 WO 
003523 

oo 3 we 

003531 
003534 
003537 
003542 
003545 
003550 
003553 
00355* 
003561 
003564 
00356' 
00357J 
003575 
003600 
003603 
003606 
003611 
003614 
003617 
005622 
003624 
003627 
003632 
003635 
003640 
00364 3 
003646 
003651 
0036U 
00365b 
00b661 
003664 
00366 7 
003672 
003675 
00 5700 
003703 
003 704 
003707 
003712 
003715 
003720 
003723 
003 726 
003731 
003734 
005737 
005 740 
003743 



PA1CH 

122 

116 
040 
115 
UV 
105 
105 
115 
105 
061 
040 
10b 
115 
054 
040 
122 
124 
105 
063 
040 
103 
123 
125 
135 
045 
101 
111 
122 
103 
123 
107 
103 
000 
045 
101 
124 
122 
105 
101 
125 
000 
045 
101 
126 
124 
040 
115 
040 
103 
104 
000 
045 
101 



RORX DISK FORMATTER 
GLOBAL TfcXT SECTION 



040 
111 
116 
102 
000 
116 
122 
11? 
040 
040 
122 
117 
101 
040 
075 
105 
117 
054 
040 
122 
117 
124 
103 
000 
116 
106 
114 
105 
114 
111 
040 
124 
000 
116 
122 
040 
111 
040 
111 
122 

116 
122 
105 
117 
114 
111 
105 
105 
105 

116 
123 



125 
124 
125 
105 
000 
124 
040 
104 
133 
075 
105 
122 
124 
062 
040 
123 
122 
040 
075 
105 
116 
122 
124 

04S 
101 
125 
040 
117 
116 
106 
123 

045 
103 
127 
124 
106 
114 
105 

045 
105 
103 
122 
111 
124 
130 
105 
104 

045 
105 



P.ABX; 



p.ab;: 



P,ACA: 



P.ACB; 



P.ACC: 





6Mor 


1984 


14: 16:44 




6-Mar 


■1964 


14 :16s 36 


.ASCII 


/R U/ 






.ASCII 


/NIT/ 






.ASCII 


/ NU/ 






.ASCII 


/M8E/ 






.ASCII 


/R/<00><00> 






.ASCII 


/ENT/ 






.ASCII 


/ER / 






.ASCII 


/MOD/ 






.ASCII 


/E [/ 






.ASCII 


/I -/ 






.ASCII 


/ RE/ 






.ASCII 


/FOR/ 






.ASCII 


/MAT/ 






.ASCII 


/. 2/ 






.ASCII 


/ • / 






.ASCII 


/RES/ 






.ASCII 


/TOR/ 






.ASCII 


/E, / 






.ASCII 


/3 -/ 






.ASCII 


/RE/ 






.ASCII 


/CON/ 






.ASCII 


/STR/ 






.ASCII 


/UCT/ 






.ASCII 


/}/<00> 






.ASCII 


/MN*/ 






.ASCII 


/AFA/ 






.ASCII 


/1LU/ 






.ASCII 


/RE / 






.ASCII 


/CIO/ 






.ALCII 


/SIN/ 






.ASCII 


/G F/ 






.ASCII 


/CTS/ 






.ASCII 


< 00 > < 00 > 






.ASCII 


/#N*/ 






.ASCII 


/ARC/ 






.ASCII 


/T w/ 






.ASCII 


/RIT/ 






.ASCII 


/E f / 






.ASCII 


/AIL/ 






.ASCII 


/URE/ 






.ASCII 


<00» 






.ASCII 


/*N#/ 






.ASCII 


/ARE/ 






.ASCII 


/VEC-' 






.ASCII 


/TOR/ 






.ASCII 


/ L 1/ 






.ASCII 


/MIT/ 






.ASCII 


/ FX/ 






.ASCII 


/CEL 






.ASCII 


/DEO/ 






.ASCII 


<00> 






.ASCII 


/*N*/ 






.ASCII 


/ASE/ 







SEQ 0040 
VAX- 11 Bti»» 16 V4 .0-5/9 Paoe 40 

DISKIUSEfUif YOUNG, FMT]ZRQBl,616j4 (17) 



r* *\ 



C4 



ZRQBl 
REV C 

00374b 

003751 
003754 

003757 
003762 
003765 
0037 70 
003773 
003 7 76 
004001 
004004 
004007 
004012 
004015 
004020 
004 02? 
004026 
004031 
004034 
004037 
004042 
004045 
004050 
004053 
004056 
004061 
004064 
00406 ; 
004072 
004074 
00407? 
004102 
004105 
004110 
004113 
004116 
004121 
004124 
004127 
004132 
004135 
004136 
004141 
004144 
00414? 
004152 
004155 
004160 
004163 
004166 
004 1 7 1 
004174 
004177 



PATCH 

105 
106 
114 
105 
125 
116 
101 
125 
040 
122 
124 
116 
045 
101 
103 
122 
102 
040 
117 
040 
106 
115 
111 
040 
040 
101 
105 
101 
105 
045 
101 
111 
101 
106 
114 
105 
103 
123 
116 
106 
000 
045 
101 
111 
111 
116 
040 
115 
105 
105 
117 
105 
040 



RDRX DISK FORMAT ThR 
GLOBAL TEXT SECTION 



6-Mor-1984 
6-Mor-1964 



14:16:44 VAX-11 Bliss 16 V4. 0-579 ^Pgq* 1 41 
14: 16 j 36 DISKIUSER2i[tOUNG.FM7)ZRQBl # Bl6j4 Cl7j 



113 

101 
125 
040 
122 
10 7 
103 
101 
106 
115 
124 
10? 
116 
106 
124 
131 
101 
102 
103 
111 
117 
101 
117 
111 
111 
103 
123 
102 
000 
116 
111 
124 
114 
101 
125 
040 
103 
123 
107 
103 

116 
125 
124 
123 

117 
12? 
103 
123 
122 
122 
101 
116 



040 
HI 
122 
104 
HI 
040 
124 
114 
117 
101 
HI 
000 
045 
101 
ll 7 
040 
104 
114 
113 
116 
122 
124 
116 
123 
116 
103 
123 
114 

045 
116 
111 
040 
111 
122 
101 
105 
111 
0-10 
124 

045 
116 
040 
040 
124 

111 
110 
124 
040 
040 
116 
117 



P.ACD: 



P. ACE: 



P.ACFj 



.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 
.ASCII 



/EK / 

/FAI/ 

/LUR/ 

/E D/ 

/URI/ 

/NG / 

/ACT/ 

/UAL/ 

/ FO/ 

/RMA/ 

/TTI/ 

/NG/<00> 

/*N*/ 

/AFA/ 

/CTO/ 

/RY / 

/BAD/ 

/ BL/ 

/OCK/ 

/ IN/ 

/FOR/ 

/MAT/ 

/ION/ 

/ IS/ 

/ IN/ 

/ACC/ 

/ESS/ 

/ABL/ 

/E/<00> 

/#N#/ 

/AIN/ 

/ITI/ 

/AL / 

/FAI/ 

/LUR/ 

/E A/ 

/CCE/ 

/SSI/ 

/NG / 

/FCT/ 

<00> 

/*N*/ 

ZAUN/ 

/IT / 

/IS / 

/NOT/ 

/ UI/ 

/NCh/ 

/EST/ 

/ER / 

/{JR / 

/CAN/ 

/ NO/ 



1)4 



/RQR1 
RF.V C 

004202 
004205 

004 J? 10 
004213 
0042 lo 
004220 
004222 
004224 
004226 
004250 
004232 
004234 
004236 
004241 
004244 
00424 7 
004252 
004255 
004260 
004263 
004266 
004271 
004274 
004277 
004302 
004305 
004310 
004313 
004316 
004321 
004324 
004327 
004332 
004335 
004 340 
004 34 3 
004346 
004351 
004352 
004 355 
004 360 
004363 
004 366 
004 371 
004374 
00437 7 
004402 
004405 
004410 
004413 
004416 
004420 
004423 



PATCH 

124 

105 
105 
103 
104 
003624' 
003656' 
003 704' 
003740' 
004012' 
0040 74' 
00413b' 
045 
101 
124 
122 
040 
123 
116 
040 
101 
123 
122 
122 
045 
101 
124 
122 
040 
123 
103 
124 
114 
122 
125 
117 
123 
000 
045 
101 
124 
122 
040 
115 
105 
122 
040 
124 
125 
111 
000 
045 
101 



RDRX DISK KORMATTtR 
GLOBAL TEXT SECTION 



6 Mar 
6-har 



1984 14:16:44 VAX-ll Bliss 16 V4. 0-579 ^Pa^ 4? 
1984 14:16:36 DISK*USER2: [ YOUNG. FMT1ZRQB1 ,B16;4 C17J 



040 
040 
114 
124 
000 



116 
044 
114 
122 
122 
120 
103 
123 
124 
040 
122 
000 
116 
044 
114 
122 
110 
124 
117 
122 
114 
040 
124 
106 
105 

116 
044 
114 
122 
122 
1W 
040 
117 
116 
040 
116 
116 
000 
116 
044 



102 
123 
105 
105 



045 
106 
105 
055 
105 
117 
105 
124 
125 
105 
117 
000 
045 
106 
1CS 
05V 

li r 

05 7 
116 
117 
105 
li/ 
040 
040 
121. 

045 
106 
105 

055 
105 
12'' 
120 
10/ 
11' 
122 
Uto 
10 / 

04 "> 
106 



P.ABY; 



P.ACH: 



P.ACI: 



P.ACJ: 



P.ACK; 



.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.WORD 

.WORD 

.WORD 

.WORD 

.WORD 

.WORD 

.WORD 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

, ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 

.ASCII 



/T B/ 

/E S/ 

/ELE/ 

/CTE/ 

/D/<00> 

P.ABZ 

P.ACA 

P.ACB 

P.ACC 

P.ACD 

P. ACE 

P.mCK 

/*N#/ 

/AIF/ 

/TLE/ 

/^R / 

/ RE/ 

/SPO/ 

/NCf/ 

/ ST/ 

/ATU/ 

/S E/ 

/RRO/ 

/R/<00><00> 

/#N*/ 

/Air/ 

/TLE/ 

/RR-/ 

/ HO/ 

/ST/<57> 

/CON/ 

/TRO/ 

/LLE/ 

/R 0/ 

/UT / 

/OF / 

/SEQ/ 

<oo > 

/#N*/ 

/A IF / 

/TLE/ 

/RR-/ 

/ RE/ 

/MOT/ 

/F P/ 

/'ROG/ 

/ NO/ 

/T R/ 

/UNN/ 

ZING/ 

<00><00> 

/#N#/ 

/AIF/ 



1:4 



ZRQB1 

RFV C PATCH 



RDRX DISK FORMAT H U 
GLOBAL TEXT SECTION 



6-Mar-1984 14:16:44 
6 -Mar -1984 14:16:36 



SEQ 004 3 
VAX-11 Bllss-16 V4. 0-579 p aQ e 43 

DISK$USER2{[ YOUNG. FMT]ZRQBl.B16j4 C17) 



004426 
0044 31 
004434 
004437 
004442 
004445 
004450 
004453 
004456 
004461 
004464 
004467 
0044 70 
004473 
0044 76 
004501 
004504 
00450V 
004512 
004515 
004520 
004523 
004526 
004531 
004532 
004S3b 
004540 
004543 
004546 
004551 
004554 
004557 
004562 
004565 
004570 
004573 
004574 
004577 
004602 
004605 
004610 
004613 
004616 
004621 
004624 
004627 
004632 
004635 
004636 
00464 1 
004644 
00464 7 
004652 



124 

122 
040 
113 
127 
122 
125 
040 
101 
123 
117 
000 
045 
101 
124 
122 
040 
115 
122 
040 
111 
105 
117 
000 
045 
101 
124 
122 
040 
122 
110 
124 
131 
040 
122 
000 
045 
101 
124 
122 
040 
123 
107 
114 
107 
040 
122 
000 
045 
101 
124 
122 
040 



114 
122 
125 
116 
116 
105 
122 
123 
124 
040 
104 

Ho 
044 
114 
i22 
103 
040 
105 
111 
124 
122 



116 
044 
114 
122 
120 
124 
11 7 
040 
116 
103 
117 

116 
044 
IK 
122 
115 
123 
105 
105 
124 

105 
117 

116 
044 
114 
122 
125 



105 
055 
116 
11/ 

040 
124 
116 
124 
125 
103 
105 

04 5 
106 
105 
055 
li7 
101 
101 
116 
040 
122 
000 

045 

106 
105 
055 
117 
C5 7 
123 
123 
10? 
122 
122 

045 
K>6 
105 
055 
105 
101 
040 
11* 
110 
122 



045 

106 
105 
05S 

116 



P. ACL: 



P.ACMi 



P.ACN: 



P. ACQ; 



.ASCII 


/TLE/ 


•ASCII 


/RR-/ 


.ASCII 


/ UN/ 


.ASCII 


/KNO/ 


.ASCII 


/WN / 


.ASCII 


/RET/ 


.ASCII 


/URN/ 


.ASCII 


/ ST/ 


.ASCII 


/ATU/ 


.ASCII 


/s c/ 


.ASCII 


/ODE/ 


.ASCII 


<00> 


.ASCII 


/*N*/ 


.ASCII 


/A*F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ CO/ 


.ASCII 


/M A/ 


.ASCII 


/REA/ 


.ASCII 


/ IN/ 


.ASCII 


/IT / 


.ASCII 


/ERR/ 


.ASCII 


/OR/<00> 


.ASCII 


<00> 


.ASCtl 


/*N*/ 


.ASCII 


/A$r/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ PO/ 


.ASCII 


/RT/<57> 


.ASCII 


/HOS/ 


.ASCII 


/T S/ 


.ASCII 


/YNC/ 


.ASCII 


/ ER/ 


.ASCII 


/ROR/ 


.ASCII 


<00> 


.ASCII 


/*N#/ 


.ASCII 


/AiF/ 


.ASCII 


/TLE/ 


.ASCII 


/RR / 


.ASCII 


/ ME/ 


.ASCII 


/SSA/ 


.ASCII 


/GE / 


.ASCII 


/LEN/ 


.ASCII 


/GTH/ 


.ASCII 


/ ER/ 


.ASCII 


/ROR/ 


.ASCII 


<00* 


.ASCII 


/i<N*/ 


.ASCII 


/AU / 


.ASCII 


/TIE/ 


.ASCII 


/RR / 


.ASCII 


/ UN/ 



F4 



ZRQB1 




RORX DISK 


KORM, 


REV C PATCH 


GLOBAL TEXT SEi 


004655 


113 


116 


117 


004660 


127 


116 


040 


C04663 


.105 


116 


104 


004666 


103 


117 


104 


004671 


105 


040 


122 


004674 


105 


103 


105 


004677 


111 


126 


105 


004 702 


104 


000 




004 704 


045 


116 


045 


004707 


101 


044 


106 


004712 


124 


114 


\05 


004 71? 


122 


122 


055 


004 720 


040 


101 


104 


004 723 


101 


120 


124 


004 726 


117 


122 


040 


004731 


120 


125 


122 


004 734 


107 


105 


040 


004 737 


105 


122 


1 o^ 


004 742 


117 


122 


COO 


004745 


000 






004 746 


045 


116 


045 


004751 


101 


044 


106 


004 754 


124 


114 


105 


004 757 


122 


122 


055 


004 762 


040 


125 


1x6 


004 765 


113 


116 


117 


004 770 


127 


116 


04 


004 7 73 


111 


116 


124 


004 7 76 


105 


122 


122 


005001 


125 


120 


124 


005004 


000 


000 




005006 


045 


116 


04 5 


005011 


101 


04 A 


106 


005014 


124 


114 


105 


005017 


122 


122 


051 ; 


005022 


04 


111 


116 


005025 


111 


124 


040 


005030 


123 


105 


12) 


005033 


040 


12? 


12'! 


C05036 


105 


120 


040 


005041 


124 


HI 


)?5 


005044 


105 


104 


C40 


00504 7 


117 


125 


124 


005052 


000 


000 




005054 


045 


116 


04 5 


005057 


101 


044 


)06 


005062 


124 


114 


105 


005065 


122 


122 


055 


005070 


040 


111 


1^6 


005073 


HI 


124 


040 


005076 


123 


105 


Wi 


005101 


040 


103 


117 


005104 


115 


120 


101 



P.ACP: 



P. ACQ: 



P.ACR: 



P.ACS: 



6~Mar-1984 14:16:44 
6-Mor-1984 14:16:36 



VAX-11 BLiss-16 V4.0 579 
DISK$USER2i [ YOUNG. FMT]ZRQB1«B16 { 4 



) 0044 
Page 44 
(17) 



.Ascn 


/KNO/ 


.ASCII 


/WN / 


.ASCII 


/END/ 


.ASCII 


/COD/ 


.ASCII 


/E R/ 


.ASCII 


/ECE/ 


.ASCII 


/IVE/ 


.ASCII 


/D/<00> 


.ASCII 


/*N*/ 


.A'iCII 


/A$F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ AD/ 


.ASCII 


/APT/ 


.ASCII 


/OR / 


.ASCII 


/PUR/ 


.ASCII 


/GE / 


.ASCII 


/ERR/ 


.ASCII 


/OR/<00> 


.ASCII 


<00> 


.ASCII 


/*N*/ 


.ASCII 


/A*F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR-/ 


.ASCII 


/ UN/ 


.ASCII 


/KNO/ 


.ASCII 


/WN / 


.ASCII 


/INT/ 


.ASCII 


/ERR/ 


.ASCII 


/UPT/ 


.ASCII 


<00><00> 


.ASCII 


/*N#/ 


.ASCII 


/AiF/ 


.ASCII 


/TLE/ 


.ASCII 


/RH / 


.ASCII 


/ IN/ 


.ASCII 


/IT / 


.ASCII 


/SEQ/ 


.ASCII 


/ ST/ 


.ASCII 


/EP / 


.ASCII 


/TIM/ 


.ASCII 


/ED / 


.ASCII 


/OUT/ 


.ASCII 


< 00 >< 00 > 


.ASCII 


/*N*/ 


.ASCII 


/AU / 


.ASCII 


/TIE/ 


.ASCII 


/RR / 


.ASCII 


/ IN/ 


.ASCII 


/IT / 


.ASCII 


/SEQ/ 


.ASCII 


/ CO/ 


.ASCII 


/MPA/ 



G4 



2HQB1 
REV C 

005107 
005 112 
005115 
005120 
005125 
00512o 
005131 
005134 
00513? 
005142 
005145 
005150 
005153 
005156 
005161 
005164 
005167 
005172 
005175 
005200 
005203 
005206 
005210 
005213 
005216 
005221 
005224 
005227 
005232 
005235 
005240 
005243 
005246 
005251 
005254 
005257 
005262 
005265 
005270 
005273 
005276 
005301 
005304 
005307 
005310 
005313 
005316 
005321 
005324 
005327 
005332 
0053 55 
005340 



PATCH 



105 
117 
045 
101 
124 
122 
040 
105 
105 
105 
101 
105 
HI 
040 
104 
105 
101 
040 
103 
126 
000 
045 
101 
124 
122 
040 
105 
105 
105 
103 
115 
104 
120 
104 
111 
105 
040 
123 
107 
122 
105 
105 
000 
045 
101 
124 
122 
040 
105 
105 
105 
123 



RORX DISK K'ORMAIH-.K 
GLOBAL TEXT SECTION 



6 Mar-1984 14;16:44 
6-Mar-19ti4 14;16 5 36 



VAX-11 Bliss-16 V4, 0-579 

DISK SUSER2:[ YOUNG. FMT]ZRQB1 ,816*4 



5EQ 0045 
Page 45 
C17) 



105 
122 
122 
116 
044 
114 
122 
125 
130 
103 
104 
124 
116 
117 
105 
040 
123 
107 
122 
05 
<O r 
000 
116 
044 
114 
122 
125 
130 
103 
104 
117 
101 
040 
103 
105 
116 
116 
115 
123 
105 
105 
111 
104 

116 
044 
114 
122 
125 
130 
103 
104 
105 



04 
122 
000 
04 3 
106 
105 
055 
116 
120 
124 
040 
124 
124 
116 
116 
115 
123 
105 
105 
111 
104 

045 
106 
1C5 
055 
116 
120 
124 
040 
115 
116 

117 
U7 

040 
040 

104 
105 
101 
040 
103 
126 
000 

04;» 

lOo 
105 
055 
116 
120 
124 
040 
122 



P. ACTs 



P.ACU: 



P.ACV; 



.ASCII 


/RE / 


.ASCII 


/ERR/ 


.ASCII 


/0R/<00> 


.ASCII 


/*N* ' 


.ASCII 


/IMF/ 


.ASCII 


/TLE/ 


.ASCII 


/RR / 


.ASCII 


/ UN/ 


.ASCII 


/EXP/ 


.ASCII 


/ECT/ 


.ASCII 


/ED / 


.ASCII 


/ATT/ 


.ASCII 


/ENT/ 


.ASCII 


/ION/ 


.ASCII 


/ EN/ 


.ASCII 


/O M/ 


.ASCII 


/ESS/ 


.ASCII 


/AGE/ 


.ASCII 


/ RE/ 


.ASCII 


/CEI/ 


.ASCII 


/VED/ 


.ASCII 


<00><00> 


.ASCII 


/*N*/ 


.ASCII 


/A$F/ 


.ASCII 


/TLE/ 


.ASCII 


/RR - / 


.ASCII 


/ UN/ 


.ASCII 


/EXP/ 


.ASCII 


/ECT/ 


.ASCII 


/ED / 


.ASCII 


/COM/ 


.ASCII 


/MAN/ 


.ASCII 


/D 0/ 


.ASCII 


/PCO/ 


.ASCII 


/DE / 


.ASCII 


/IN / 


.ASCII 


/END/ 


.ASCII 


/ ME/ 


.ASCII 


/SSA/ 


.ASCII 


/GE / 


.ASCII 


/REC/ 


.ASCII 


/EIV/ 


.ASCII 


/ED/<00^ 


.ASCII 


<00> 


.ASCII 


/#N»/ 


.ASCII 


/A$F / 


.ASCII 


/TLE/ 


.ASCII 


/RR / 


.ASCII 


/ UN/ 


.ASCII 


/FXP/ 


.ASCII 


/fcCT/ 


.ASCII 


/ED / 


a ASCII 


/SLR/ 



I I l\ 



•14 



ZRQB1 

REV C PATCH 



RDRX DISK FORMAT It H 
GLOBAL TEXT SECTION 



005543 
00534b 
005351 
005354 
005357 
005360 
005365 
005370 
005373 
005376 
005401 
005404 
005407 
0C5410 
U05413 
005416 
005421 
005424 
005427 
00543<? 
005435 
005440 
005443 
005446 
005451 
005454 
0C5457 
005462 
005465 
0054 70 
0054 7? 
0054 75 
005500 
005503 
003506 
005511 
005514 
005517 
005522 
005525 
005530 
005533 
005536 
005541 
005544 
005546 
005551 
0J5554 
005557 
005562 
005565 
0055/0 
005573 



111 
123 
150 
.1.20 
11 7 
105 
040 
123 
107 
122 
105 
105 
000 
045 
101 
124 

122 

040 
1 26 
111 
103 
115 
104 
116 
115 
123 
105 
105 
111 
104 
045 
101 
124 
122 
040 
113 
127 
115 
123 
105 
' 51 
040 
103 
12b 
000 
045 
10' 
124 
122 
040 
124 
101 
111 



117 
040 
103 
124 
116 
116 
115 
12 7 
105 
105 
111 
ir*4 

U6 
044 

114 
122 
111 
101 
104 
UV 
101 
040 
104 
105 
101 
040 
103 
126 
OCO 
1V6 
044 
114 
122 
125 
116 
lib 
105 
101 
040 
120 
122 
105 
105 
000 
116 
041 
114 
122 
11/ 
123 
116 
116 



125 

105 
105 

in 

04 
104 
105 
101 
040 
105 
12b 
000 

045 

106 
105 
055 
116 
114 
040 
115 
116 
105 
040 
123 
107 
122 
105 
105 

04 5 
106 
105 
Or-5 

116 

11 ' 
040 
123 
107 
124 
105 
105 
111 
104 

045 
10t» 
105 
l i5 
125 
124 
104 
107 



P.ACW: 



P.ACX: 



P.ACYj 







6 -Mar -1964 14: 16:44 






6-Mor-1984 14-16:36 


.ASCII 


/iou/ 




.ASCII 


/S E/ 




.ASCII 


/XCE/ 




.ASCII 


/PTI/ 




.ASCII 


/ON / 




.ASCII 


/END/ 




.ASCII 


/ ME/ 




.ASCII 


/SSA/ 




.ASCII 


/GE / 




.ASCII 


/REC/ 




.ASCII 


/EIV/ 




.ASCII 


/F.D/<00> 




.ASCII 


<00> 




.ASCII 


/*N*/ 




.ASCII 


/AiF/ 




.ASCII 


/TLE/ 




.ASCII 


/RR-/ 




.ASCII 


/ IN/ 




.ASCII 


/VAL/ 




.ASCII 


/ID / 




.ASCII 


/COM/ 




.ASCII 


/MAN/ 




.ASCII 


/D E/ 




.ASCII 


/NO / 




.ASCII 


/MES/ 




.ASCII 


/SAG/ 




.ASCII 


/E R/ 




.ASCII 


/ECE/ 




.ASCII 


/IVE/ 




.ASCII 


/D/<00> 




.ASCII 


/#N*/ 




.ASCII 


/Air/ 




.ASCII 


/TLE/ 




.ASCII 


/RR / 




.ASCII 


/ UN/ 




.ASCII 


/KNO/ 




.ASCII 


/UN / 




.ASCII 


/MPS/ 




.ASCII 


/SAG/ 




.ASCII 


/t 1/ 




.ASCII 


/YPE/ 




.ASCII 


/ RE/ 




.ASCII 


/'CM/ 




.ASCII 


/VfrD/ 




.ASCII 


<00><00> 




.ASCII 


/#N*/ 




.ASCII 


/AIF"/ 




.ASCII 


/U.l / 




.ASCII 


/RR / 




.ASCII 


/ ou/ 




.ASCII 


/TST/ 




.ASCII 


/AND/ 




.ASCII 


/XNG/ 





SEQ 0046 
VAX-11 Bltss-16 V4. 0-579 Page 46 

DISK*USER2s[ YOUNG. FMT]ZRQB1.B16|4 C17) 



in 



ZRQB1 

RFV C PATCH 



RDtfX DISK FORM/M Tf.R 
GLOBAL TEXT SEC (TON 



6-Mor- 1964 14:16:44 
6-Mar-19a4 14:16:36 



SEQ 004/ 
VAX-11 Bliss 16 V4, 0-5/9 Page 47 

DISKJUSER2 : ( YOUNG . FMT )ZRQB1 , B16 j 4 f 17 ) 



0055 /6 

005601 
005604 
005607 
00561,? 
005615 
005620 
005623 
005624 
0056?7 
005632 
005635 
005640 
005645 
005646 
005651 
005654 
005657 
005662 
005665 

0056 70 
005673 
005676 
005 701 
005704 
005707 
005712 
005 715 
005720 
005723 
005726 
005731 
005734 
005 / 3 7 
005742 
005745 
005750 
005753 
005756 
0C5761 
0057^4 
005 76 7 
005 7 72 
005//5 

0057 76 
006001 
006004 

00600 / 

00601 1 1 

006015 
006020 
00*><V', 
006026 



040 
115 

116 
10? 
106 
040 
114 
000 
045 
101 
124 
1?? 
040 
124 
124 
104 
107 
11/ 
101 
040 
106 
122 
125 
117 
123 
103 
122 
122 
045 
101 
124 
122 
040 
113 
127 
115 
123 
105 
125 
105 
122 
105 
105 
000 
04 5 
101 
124 
122 
040 
114 
122 
104 

122 



103 
115 
104 
125 
10 r > 
lOo 
114 

U6 

044 
114 
122 
117 
040 
101 
111 
040 
115 
lib 
102 
106 
040 
124 
106 
131 
040 
122 
000 
lib 
0A4 
114 
122 
125 
116 
U6 
105 
101 
040 
115 
122 
105 
111 

io«; 

116 

044 
114 
122 
106 
105 
105 
04 
122 



117 
101 
040 
10', 
122 
125 
000 

045 
106 
105 
055 
125 
123 
116 
lib 
103 
115 
104 
125 
105 
117 
0*'» 
040 
116 
105 
11". 
000 
045 
106 
105 
055 
IK, 
11/ 
040 
123 
107 
116 
102 
040 
105 
126 
000 

045 

10»- 

105 

055 

111 

04 

101 

105 

11 > 



KACZ: 



P. ADA: 



P. ADO; 



.ASCII 


/ CO/ 


.ASCII 


/mm;/ 


.ASCII 


/NO / 


.ASCII 


/Bur/ 


.ASCII 


/KtR/ 


.ASCII 


/ FU/ 


.ASCII 


/LL/<00> 


.ASCII 


<00> 


.ASCII 


/*N*/ 


.ASCII 


/A$F/ 


.ASCII 


/TLK/ 


.a:cii 


/RR / 


.ASCII 


/ ou/ 


.ASCII 


/T S/ 


.ASCII 


/TAN/ 


.ASCII 


/DIN/ 


.ASCII 


/G C/ 


.ASCII 


/OMH/ 


.ASCII 


/AND/ 


.ASCII 


/ BU/ 


.ASCII 


/f-Ffc/ 


.ASCII 


/R 0/ 


.ASCII 


/LIT / 


.ASCII 


/OF / 


.ASCII 


/SYN/ 


.ASCII 


/C £/ 


.ASCII 


/RRO/ 


.ASCII 


/R/< 00><00 


.ASCII 


/*N*/ 


.ASCII 


/AIF/ 


.ASCII 


/TIF./ 


.ASCII 


/R1 / 


.ASCII 


/ UN/ 


.ASCII 


/KNO' 


.ASCII 


/WN ' 


.ASCII 


/MFS/ 


.ASCII 


/SAG/ 


.ASCII 


/t N/ 


.ASCII 


/UMH/ 


.ASCII 


/LR / 


.ASCII 


/RFC/ 


.ASCII 


/FIV/ 


.ASCII 


/FD/«00> 


.ASCII 


<00> 


.ASCII 


/*N«/ 


.ASCII 


/AU / 


.ASCII 


/TIF/ 


.ASCII 


/RR / 


.ASCII 


/ V 1 / 


.ASCII 


/I I / 


.ASCII 


/r:-a.' 


.ASCII 


/d i ■■■ 


♦ASCI! 


/RRU/ 



I /I 



J4 



ZRQB1 
REV C 

006051 

006054 
0060? > 
00604 t ? 
006045 
006030 
006055 
006056 
006061 
006064 
00606? 
006072 
006075 
006100 
006105 
006106 
006110 
00611? 
006114 
006116 
006120 
006122 
006124 
006126 
006150 
006152 
006154 
00615t» 
006140 
006142 
006144 
006146 
006150 
006152 
006154 
006156 
006160 
006162 



000000 
000000 

000050 

000052 

000054 

00005*, 

000456 



PATCH 

1 "i? 
ii.i 

045 

101 
124 
122 
040 



R0R\ DISK ' OR ' ' '.K 
GLOBAL TEXT Si ! ] ON 



105 
124 
114 
122 
111 
117 
040 
122 
000 
004256' 
004 502' 
004552* 
004420' 
0044 70' 
004552' 
004574' 
004656' 
004 704' 

004 746' 
005006 ' 
005054 ' 
005120' 
005210' 
005310' 
005410* 
0054 72* 
005546' 
005624' 
005720' 

005 7 76' 
006054' 



000 
116 
044 
114 
122 
120 
124 
11? 
122 
114 
040 
U5 
125 
105 
117 
000 



00- 

0^ 
K . 
103 
05 i 
11." 
05 7 
'.?o 
11'* 
105 

12-; 

105 

i:-:-'4 

ir : 

12*? 





6-Mnr-1984 14:16:44 




6-Mar-1984 14:16:36 


.ASCII 


/R/<00><00> 


P. ADC: .ASCII 


/#N#/ 


.ASCII 


/AJF/ 


.ASCII 


/TLE/ 


.ASCII 


/RR ••/ 


.ASCII 


/ PO/ 


.ASCII 


/RT/<57> 


.ASCII 


/CON/ 


.ASCII 


/TRO/ 


.A'XII 


/LLE/ 


, ASCII 


/R T/ 


. ")CU 


/IME/ 


..iSCII 


/OUT/ 


.ASCII 


/ !~.R/ 


.ASCII 


/ROR/ 


.ASCII 


*00><00> 


' J .ACU: .WOhO 


P.MCH 


.WOr'tO 


P.ACI 


.WORO 


P , AC J 


. WORD 


P . ACK 


.WORO 


P.ACI. 


.WORD 


P. ACM 


.UORD 


P, ACN 


.WORD 


P. AGO 


.rjRD 


P.ACP 


.WORD 


P ACQ 


. WORD 


P . ACR 


.WORD 


P.ACS 


.WORD 


P. ACT 


.WORD 


P.ACU 


. WORD 


P.ACV 


.WCRD 


P.ACW 


.WORD 


P.ACX 


.WORD 


P.ACt 


.WORD 


P.AC/ 


.WORD 


P. ADM 


.WORD 


P.ADB 


.WORD 


P.AOC 


.PSECT 


$GLOU$, RO , D , GOL 


COM.ARtA: - 




.BLKW 


24 


HEAD. AREA: : 




.BLKW 


1 


RECEIVE .RING: : 




.BLKU 


1 


SEND. RING: : 




.BLKU 


1 


RFC A NVH OPE : : 




.HI KW 


200 


SNU. ENVELOPE it 





VAX-11 Bliss 16 V4, 0-579 
DISK$USER2i[ YOUNG. FMT]ZRGB1,B16{4 



>EQ 0046 
Page 4tt 
C 17 J 



U j\ 



I<4 



7RQB1 




REV C PATCH 


000 7M* 




001316 




001430 




001450 




00145? 




001454 


000000 


0014% 




001460 




00146c"? 




001464 




001466 




001470 




001472 




0014 74 




001476 




001500 




00 ISO? 


00037/ 


001504 


000000 


OOlSOf 


003400 


001510 


00377 7 


00151? 


3/7 


0C1513 


013 


001514 


033 


001515 


22? 


001516 


222 


00151 / 


020 


001520 


000010 


0015?? 


033 


001523 


04 7 


001524 


000000 


001526 


37 7 


0015?; 


107 


0015.50 


000 


001531 


377 



RDRX DISK FORMA! TER 
GLOBAL TEXT SECTION 



6-M*r-19fl4 14:16:44 
b -Mar -1964 14 j 16; 36 



SbQ 0049 
VAX -11 Bliss- 16 V4 .0-579 Paae 4y 

DISK SUSER2 j [ YOUNG. FMT]ZRQBl.B16j4 C17) 



.BLKW 


130 


RFC.BUF; : 




.BLKW 


170 


SND.BUF: : 




.BLKW 


45 


OUTiSTD.BUF: : 




.BLKW 


10 


PF.T.EN*AD:; 




.BLKW 


1 


NXT.CRN: : 




.Bl ..KB 


1 


.EVEN 




RET. STATUS: : 




.WORD 





l.UN:; .BLKW 


1 


PID.SPVE:: 




.BLKW 


1 


UC.VFR; : .BLKB 


1 


.EVEN 




NSD.SLOT: : 




.BLKW 


1 


NRO.SLOT: : 




.BLKW 


1 


RORX.ADDR: : 




.BLKW 


1 


VEC.ADDRi i 




.BLKW 


1 


BR. LEVEL: • 




.BLKW 


1 


UNIT. NO: : 




.BLKW 


1 


PTBL.PTRj : 




.BLKW 


1 


RSVD. STRUCT; ; 




.WORD 


37/ 


.WORD 





.WORD 


3400 


.WORD 


37 7 7 


ISD, STRUCT: • 




.BYTE 


37/ 


.BYTE 


13 


.BYTE 


33 


.BY IE 


222 


.BITE 


?.?.?. 


.BYTE 


20 


.WORD 


RINGBASE 


.BYTE 


33 


.BYTE 


4/ 


. WORD 





.BYTE 


3 7/ 


.BYTt 


107 


.BtTE 





,B«TE 


377 



/I 



4 



/RQB1 

RfcV C PAICH 



RORX DISK FORMATTKR 
GLOBAL TEXT SECTION 



6-Mor- 1984 14: 16:44 
6-Mar-19tt4 14:16:36 



VAX-11 Bl iss-16 V4.0-5V9 

DISK $USER2s[ YOUNG. FMT JZRQB1 ,B16 j 4 



SEQ 0050 
Page SO 
C17) 



000130' 
000156* 
000142' 
000011' 
000142' 
000156* 
OOOOOO' 
000004 ' 
000046' 
00014,?' 
000220' 
000224' 
000260' 
000324' 
000350' 
0004 30' 
000500' 
000540' 
000576' 
000630' 
000642* 
000010' 
000/40' 
002546' 
003622' 
002704' 
002764' 
003042' 
003134' 
003216' 
003264' 
003340' 
003364' 
003416' 
003440' 
003534' 
004220' 
006110' 



Ptsect Name 
*CODE$ 
5GL0BS 



.GLOBL 


LSSOFT, TiPTHV, LiRPT, 1 


.GLOBL 


L$CLEAN, LU.AST, L*HARD 


.GLOBL 


L$DESC, L$DU, 


L$AU, L$AI 


LfERRTBL-- 


ERRTYP 




l.$SW"» 


L*SWLEN*2 




LIHW-- 


L$HWLEN*2 




LiDEPO*- 


I *REV*1 




OFPTBL-- 


L$HWLEN*2 




SFPTBL-- 


L $SWl F.N»2 




FMT1-- 


P. AAA 




FMT2-- 


P.AAB 




FMT3-- 


P.AAC 




FMT4-- 


P. AMD 




CRLF-- 


P.AAF 




UNIT*.MSG»- 


P.AAF 




LXlST$.MSG-» 


P.AAG 




DOUNt.MSG-- 


P.AAN 




INACC$.M5G»- 


P.AAI 




DFLTI.MSG-- 


P.AAJ 




SERIAL$.M5G»» 


P.AAK 




DATE*.MSG-» 


P.AAL 




DATMSG-- 


P.AAM 




DEF.DATE-- 


P.AAN 




DEF.SFRIAL-* 


P.AAO 




RINGBASE-- 


COM. AREA*] 


LO 


MSGADR-- 


REC.BUF*2 




PFE.STRUCT-- 


P.AAP 




PUR.MSG-- 


P. ABM 




ABO.MSG-- 


P.ABN 




TO. MANY. UNITS-- 


P.ABO 




GOOO. NUM. UNITS ■ 


P.ABP 




BOOT FAILURE- • 


P.ABQ 




PROTO. VIOLATION 


P.ABR 




PORT.INIT.ERR-- 


P.ABS 




HU.Q1.IP-- 


P.ABT 




HU.Q2.VECT0R-- 


P.ABU 




HW.Q3.BR-- 


P.ABV 




SU.Ql.UNIT-* 


P.ABU 




SW.Q2.M0DE-- 


P.ABX 




FMT.F.RR*- 


P . AB i 




EMSG. STRUCT-' 


P.ACG 




PSECT SUMMARY 






Words Attrl 


buteo 




61 RO 


, I , ID, 


Hh., CON 


429 RO 


, D , GBl. , 


RJrl , CUN 



I. UNIT 

LiovrrP 

0, Tl 



*l/l 



ZRQBl 

REV C PATCH 

; $PLIT$ 



RDRX DISK FORMATTER 
GLOBAL TEXT SECTION 



1594 



RO 



D 



M4 



6-Mar-1984 14:16:44 
6 -Mar -1964 14:16.36 

GBL t REL, CON 



SEQ 0051 
VAX-11 Bliss-16 V4. 0-579 Page 51 

DISK$USER2:[ YOUNG. FMT jZRQBl .B16}4 C 1 7 *; 



Library Statistics 



Kile 
DISK $USER2 1 { YOUNG , FMT 1ZRQBB0 . L 16 j 4 



Total 


- Symbols 
Loaded 


Percent 


Pages 
Mapped 


Processing 

T ime 


358 


223 


62 


18 


00:00,1 



COMMAND QUALIFIERS 

BLISS/PDP11/LIST ZRQB1.B16/EN:N0EIS/S0URCE-PAGE:53 

Size: code ♦ 2084 data words 

Run Time: 00:20.9 

Elapsed Time: 00:49.1 

Lines/CPU Min: 6954 

Lexemes/CPU-Min: 38982 

Memory Used: 207 pages 

Compilation Complete 



N i /i 



N4 



ZRQB2 



0001 





0002 





0003 





0004 





0005 





0006 


1 


0007 


1 


0003 


1 


0009 


1 


0010 


1 


0011 


1 


001<? 


1 


1548 


1 


1549 


1 



RORX DISK FORMATTER 

MODULE ZRQB2 (KTITLE ' RDRX DISK FORMATTER' 

IDENT - 'REV C PATCH 0' , 
ADDRESSING..MOUE (ABSOLUTE) 
ENVIRONMENT CNOEIS) 

) ■ 
BEGIN 

! CONTROLLER FUNCTIONS 

library 'ZRQBB0.L16' ; 

require * BLSMAC.REQ' ; 

rfsbttl 'MODULE DECLARATIONS' 



S-Mar-1984 14?46:52 
5-Mar^l9tf4 14;39:06 



VAX-11 Bliss-16 V4. 0-579 

DISK $USER2 j f YOUNG . FMT 1 ZRQB2 . B 16 j 2 



SEQ 0052 
Page 



1 
CI 'J 



[Define RDRX Library module 
.'Define Bliss Macro Library 



ZRQBc 
REV C 



PAICH 



RDRX DISK FORMATTER 
MODULE DECLARATIONS 



J . 



5 -Mar 
5 -Mar 



1550 
1551 
155<? 
1553 
1554 
1555 
1556 
1557 
1558 
1559 
1560 
1561 
156<? 
156* 
1564 
1565 
1566 
156.' 
1568 
1569 
15 70 
15 71 
1572 
1575 
15 74 
1575 
1576 
1577 



SEQ 0053 
1984 14j46j52 VAX-11 Bliit-16 V4 , 0-579 Page ? 

1984 14j39i06 DISKauSER2iCY0UNG.FMT)ZRQfl2 # B16»S (2) 



? 



Structure declarations used within this module. 



structure 



RDRX rep later accessing structure. This 
structure allows RDRX register accessing, 
to be transportable between the PDP-11 and 
VAX Diagnostic Supervisors. 

This also defines an access algorithm for 
VAX to nllow field reference to MBA address 
space without generating machine checks. 



RDRX {0, P, S, £] - 
bec tn 

local 

RCIS..REGi 

RCiS.REG • .CRDRx * tfu0val«O)<O. *boval. 0>» 

RC •S.REG 

end 

<P. S. Em 



cs 



ZRQB«? 
REV C 



PATCH 



RORX DISK FORMATTER 
MODULE DECLARATIONS 



5~Mar-1984 
5-Mar-19B4 



14{4m32 VAX-11 Bliss-16 V4, 0-579 ' Q Page 4 3 

14}3<; 5 06 DISI<*USER2;[Y0UNG,FMTURQB2.6l6t2 (3 J 



1578 

15. -9 

1580 
1581 
158.? 
1585 
1584 
1585 
1586 

158: 

1588 
1589 
1?W 
15*1 
159.? 
1593 



The psect named "code or IcodeS" is redefinded here 
to be colled "aaicode". This 19 done to force the tub 
linker to place the programs header information starting 
at absolute address 2000, Then for consistency "alcode" 
Is used Inplace of "code or Icode" across all modules, 



psect 

code 



■ aafcode; 



External Routine declared outside this module, 

external routine 

DECODE j NOVALUE, 
LQAD^FIuEt 



D'_5 



/RQBJ 

RtV C 



PAICH 



1594 
1595 

1596 

1597 
1598 
1599 
.1600 
1601 
1602 
1603 
1604 
1605 
1606 
160 7 
1608 
1609 
1610 
1611 
161,? 
1613 
1614 
1615 
1616 
1617 
1618 
1619 
1620 
le>21 
1622 
1623 
1624 
1625 
1626 
1627 
162fc 
1629 
1630 
1631 
1632 
1633 
1634 
1635 
1636 
163 7 
1638 
16 39 
1640 
1641 



RDRX DISK FORMAT TIN 
MODULE DECLARATIONS 



External Declaration of datums 
declared outside of this module, 



external 

Hardware question ascii string messages 

HW Q1..IP, 
HW.Q2. VECTOR, 
HW..Q3.BR, 

SU.Ql^UNIT, 

SW_Q2_M0DE, 
i 

! Formatting print string 

i 

FMT2, 

FMT3, 
i 

! In It code error c id informational messages 

i 

PUR MSG, 

ABO MSG, 

TC. MANY .UNITS, 

GOOD. NUM .UNITS, 
j 

! Miscellaneous external data declarations 



) 



5 Mar 1984 14;46;3c 
5-Mar-l984 14}39;06 



SEQ 0055 
VAX-11 Bliss 16 V4. 0-579 Page 4 

DISK*U5ER2j[Y0UNG.FMT1ZRQB2.B16|2 (4) 



! H/W question 1 for IP rcg address 

!H/W question 2 for interrupt vector address 

!H/W Question 3 for bus req level 

•software question 1 for unit 
! software question 2 for unit 



•Notifies unit being formatted 
{Notifies format abort 



LUN : byte, 
PTBL 



: oyte, 
_PTR : re 



f vector [4, word]. 



! Supervisor defined data declarations 
i 

LtUNIT. 
i 

• Hardware P_ Table storage dec larat ion-.; 
j 

RDRX„AQDR : r^f RDRX field (ISO. FIELD), 
VEC ADDR : word, 
BR_LEVEL : word, 
LNIT.NO ; word, 

Formatter data structures 

ISD.STRUCT i blockvector [4, Z t word] field USD.FItl.Dh 



h 5 



/ROB? 

REV C PATCH 



164? 
1643 
1644 
164S 
1646 
164? 
Ib48 
1649 
1650 
1651 
1652 



RDRX DISK FORMATTER 

TYPE AND description 

Ksbttl ' TYPE AND DESCRIPTION 

Two lines of text will be 

program name). The first 

up time and will identify 

the "DEVTYPE" macro at 

device under test. The arugments of both 

asc I J strings enclosed tr\ parenthesises: 



S-Mar-1984 14i46s32 
5-Mar-1984 14 5 39i06 



VAX-11 Bliaa-16 V4 . 0-579 
DISK*USER2;[Y0UNG.FMT]ZRQB2.B16{2 



SEQ 0056 
Page 



(5) 



printed to the operator- (in addition to the 
will come from the "DESCRIPT" macro at start 
the diagnostics. The second will come from 
hardware dialogue time and will identify the 

macros ore 72 character 



DESCRIPT (*asci-r'RD51/52 DISK FORMATTER')} 
DEVTYP (tfasciz'RQDXl DISK DRIVE SUBSYSTEM' )« 



) 



2MB? 




REV C PATCH 


; 1653 


1 


; 1654 


1 


; 1655 


1 


; 1656 


1 


1657 


1 


; 1658 


1 


; 1659 


1 


; 1660 


1 


; 1661 


1 


j 1662 


1 


; 1663 


1 


; lt>64 


1 


1665 


1 


; 166b 


1 



RDRX DISK FORMATTER 
HARDWARE PARAMETER CODING 

Ksbttl 'HARDWARE PARAMETER CODING 



5-Mar~1984 
5 -Mar -1984 



SEQ 005/ 
14:46*32 VAX-11 Bliss-16 V4 , 0-579 Page 6 

14:39*06 DISK $USER2 ;[ YOUNG, FMTURQB2.B16; 2 (6) 



The hardware parameter coding section contains macros 
that are used by the supervisor to build P- Tables. The 
macros are not executed as machine instructions but are 
interpreted by the supervisor as data structures. The 
macros allow the supervisor to establish communications 
with the operator. 

BGNHRD; 

GPRMA CHW.Q1 .IP, #o'0* , 

GPRMA (HW Q£ VECTOR, rfo' 

GPRMD (HW_Q3 BR, *o*4' , 

ENDHRD; 



0, *o* 16000' , 


*o* 177777' , YES, 


Dl 


.'Get 


RDRX 


2' , 0, 4, *o* 


774' , YES, 1); 




•Get 


RDRX 


0, *o* 177777' 


, 0, 7, YES» 1)} 




•Get 


RDRX 



Controller IP register 
Interrupt Vector address 
Bus Request Priority 



ZRQB2 




REV C PAT 


CH 


; 1667 


1 


; 1668 


1 


; 1669 


1 


i 1670 


1 


i 1671 


1 


; lb72 


1 


5 16 73 


1 


1674 


1 


; 1675 


1 


; 1676 


1 


; 1677 


1 


; 1678 


1 


; 16 79 


1 


i 1680 


1 


1681 


1 


; 1682 


1 


; 168? 


1 


; 1684 


1 



G? 



RORX DISK FORMAT TfcR 
SOFTWARE PARAMETER CODING SECTION 

rfsbttl 'SOFTWARE PARAMETER CODING SECTION' 



> 



5-Mar-1984 14;46:32 
5 -Mar -1984 14;39i06 



SEQ 0058 
VAX-11 Bliss-16 V4, 0-579 Page 7 

DISK*USER2j[Y0UNG.FMT]ZRQB2.B16j2 (7) 



The software parameter coding section contains macros 
that are used by the supervisor to build P- Tables. The 
macros are not executed as machine instructions but arc 
interpreted by the supervisor as data structures. The 
macros allow the supervisor to establish communications 
with the operator, 

BGNSFT; 

Software parameter cuding is accomplished v'a DM 
micro code. This is to conform to DUP protoco) 
standards. 



GPRMD (SW„Q1^UNH, #o*0', 0, 
GPRMO (SW..Q2J10DE, *o'2'. 0, 
ENDSFTj 



*o' 1777/7 
*o' 177777 



0, 
1. 



3. 
3, 



YES. 
YES, 



0) 
0) 



!get un J t number 
!Get mode 



) 



/RQB2 




REV C PATCH 


; 1685 


1 


; 1686 


1 


i 168? 


1 


; 1688 


1 


; 1689 


1 


5 1690 


1 


; 1691 


1 


; 1692 


1 


j 1693 


1 


: 1694 


4- 


; 1695 


2 


; 1696 


2 


t 169; 


c. 


; 1698 




; 169^ 


2 


; 1 700 


2 


; 1701 


2 


: 1702 


2 


; 1 /03 


2 


; 1 704 


2 


; 1705 


1 



RDRX DISK FORMATTER 
REPORT CODING SECTION 

rfsbttl 'REPORT CODING SECTION' 



5-Mar~1984 14:4f:32 
5~Mar-J,904 14:39:06 



SEQ 0059 
VAX -11 Bliss-16 V4. 0-579 Page 8 

DISK SUSER2 j [ YOUNG . FMT 1ZRQB2 . B16 ; 2 ( 6 ') 



The statistical report coding section contains the PRINTS macros that 
will be used to generate statistical reports. The 'BGNRPT' and 'ENDRPT* 
macros are used as begin ing and ending directives for the coding con- 
tained in the section. However, an externally located DORPT coll, or 
a print command from the operator, may be used to request the execu- 
tion of the report coding. 

BGNRPT; 
return; 

THIS SECTION CONTAIN?. THE CODE FOR PRINTING 
STATISTICAL INFORMATION GHTHtREO BY THE DIAGNOSTIC, IT IS 
EXECUTED BY THE OPERATOR COMMAND "PRINT" OR BY THE MACRO CALL 
"DORPT". USE THE PRINTS MACRO TO PRINT THE INFORMATION. 
USE FORMAT STATEMENTS AS IN THE PRINTB/PRINTX MACROS, IT IS 
THE PROGRAMMER'S RESPONSIBILT> TO DEVISE AND IMPLEMENT THE 
FORM ANO CONTEN r OF THE STATISTICS, 

ENDRPT; 













.TITLE 


2RGB2 RDRX DISK FORMATTER 












.IDENT 


/REV C / 












♦ENADL 


AMA 


000000 










,PS*CT 


* COOES, RO 


000000 


122 


104 


065 


L*DESC: 


.ascti 


/HD5/ 


000003 


061 


05/ 


065 




.ASCII 


/l/<5.' -'5/ 


000006 


062 


040 


104 




.ASCII 


/?. 0/ 


oooou 


ill 


123 


113 




.ASCII 


/ISK/ 


000014 


040 


106 


117 




.ASCII 


/ FO/ 


00001 f 


122 


115 


101 




.ASCII 


/RMA/ 


000022 


124 


124 


105 




.ASCII 


/TTFV 


000025 


122 


000 


000 




.ASCII 


/R/«00><00* 


0000 50 


122 


121 


104 


LJDVTYP 


!ascii 


/ROD/ 


000053 


130 


061 


040 




.ASCII 


/Xl / 


000036 


104 


111 


123 




.ASCII 


/DIS/ 


000041 


113 


040 


104 




.ASCII 


/K D/ 


000044 


122 


HI 


126 




.ASCII 


/HIV/ 


00004/ 


105 


040 


123 




. ASC 1 1 


.'[■ s/ 


000052 


125 


102 


123 




.ASCII 


a*v,/ 


000055 


131 


125 


124 




.ASCII 


/1ST/ 


000060 


105 


113 


000 




.ASCII 


/EM/<00> 


00006 5 


000 








.ASCII 


<00> 


000064 


OOOOOOC 






I iHRULNj 


!uORD 


< < <L *NDHRO -L$HRDLN> /2> 1 > 


000066 


0000 51 






GPUlJ 


. WORD 


31 


0000/0 


00 oooou 








.WOHD 


hw . a u ip 


0Q007* 


016000 








• WORD 


1600Q 



1!) 



7RQB2 

REV C PATCH 



000074 

0000 /6 
000100 

0001 Or" 1 

000104 
00010b 
000110 
000112 

000114 
000116 

0001r>0 



000124 

000 1?6 
000130 
000132 
000134 
000136 
000140 
000142 
000144 
0C0146 
000150 



177777 

001031 

OOOOOOG 

000004 

0007/4 

002032 

OOOOOOG 

177777 

000000 

000007 



000122 OOOOOOC 



000032 

OOOOOOG 

177777 

000000 

000003 

001032 

OOOOOOG 

1777/? 

000001 

000003 



RORX DISK FORMATTER 

REPORT CODING SECTION 



GP*2: 



GP*3: 



.WORD 
.WORD 
,WOPD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 



LSNDHRD: : 



GP*4: 



GPS5: 



.BLKW 



t.$SFTL.Nj : 



.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 
.WORD 



L$NDSFT:« 



,BU<W 



5-har-1984 14:46:32 
5<Mar-l9o4 14 i 39:06 



SEQ 0060 
VAX-11 Bliss 16 V4.0-57S Page 9 

DISIOUSfcRS: f YOUNG. FMT]ZRQB2.B16;2 (8) 



■1 

1031 

HW.Q2. VECTOR 

4 

7/4 

2032 

HW.Q3.BR 

1 

7 



<<<L$NDSFT~L$SFTLN>/2>-l> 
32 

SW.Q1.UNIT 
-1 

3 

1032 

SW.Q2.M0Dt 
■1 
1 
3 



.GLOBL HW.Q1.IP, HW. Q2 . VECTOR , HW.Q3.BR 

.GLOBL SU.Q1.UNI1, SW. 02. MODE, FMT2. FMT3 

.GLOBL PWR.MSG, ABO.MSG, TO . MANi .UNI TS 

.GLOBL GOOD. NUM. UNITS, LUN, PTHl .^TR 

.GLOBL LtUNIT, RDRX.ADDR. VbC.ADDR, BR, LEVEL 

.GLOBL UNIT, NO, ISO. STRUCT 



000066 
000124 



LiHARO 
L$SOFT 



I IHRDLN.2 
L$SFTLN»2 



000000 000207 



LRPT 



.SBTTl 
RTS 



Routine S I /e : 1 word. Routine Base: $CODE$ 
Maximum stack depth per invocation: words 



LRPT 
PC 



REPORT CODING SECTION 



1634 



01S 



<"o 



000000 
000004 
000006 



004 73/ 000 Xbd 

104425 

000207 



L*RPT 



.SBTTL 
JSP 

rRAP 
RTi, 



LIRPT REPORT 
PC, LRPT 
2S 
PC 



CODING SECTION 



Lc^S 



r; 



/ROB* 1 
REV C 



PATCH 



RDRX DISK f ORMATHR 
RtPORT CODING SECTION 



!i Mop- 1984 
5-Mar-19tt4 



14j46:3l> 

14:39:06 



SEQ 0061 
VAX-11 BListi-16 V4. 0-579 Page 10 

DISK$USER2j[ YOUNG. FMT ]ZRQB2.B16;2 (Q) 



Routine 9 1 re: 4 words, Routine Base: *CODE$ ► 0154 
Maximum stack depth per invocation; 3 words 



r . 



ZRQB£ 




REV C PATCH 


; WOb 


1 


I 1707 


2 


; 1706 


c 


; 1709 


•■) 


1710 




; 1711 


t'. 


t 1/1? 


> 


; 1715 


■» 


; 1714 


2 


i WIS 


t. 


1716 


> 


; 171' 




; 1718 




j 1719 


I. 


; 1 -VO 


'I 


j 1721 


> 

4.. 


j 1 7?? 


2 


i 172 J 


2 


; 1724 


2 


; VfP.b 


2 


i 1 726 


2 


5 1727 


2 


; 1/26 


c. 


; 1 729 


2 


! 1750 


tl 


; 1731 


c 


; 1 732 


2 


; 1733 




; 1734 




; 1735 


2 


; 1736 




; 1 737 


■1 


; 1738 


2 


; 1 739 




j 1740 


'j 


; 1741 


-> 


; 1/42 




; 1/4 3 




t 1744 


2 


1 /4 l j 




1746 


3 


j 1/4 7 


3 


; 1748 


3 


; 1749 


3 


; 17S0 


3 


: 1701 


'i 


j 1 7 r >? 




; l/ c »3 


;■> 


; 1 <">4 


* > 


; 1 /Vj 




; 1 ."* 


i. 


; 1."./ 


-3 

L 


r/sa 





RDRX DISK FORMATTER b-Mar-1984 14-46:32 

INITIALIZE SECTION 5-Mar~19tf4 14-39:06 

rfsbttl 'INITIALIZE SECTION' 
BGNINIT} 



The in! t iai 1 zat ion code is executed at the beginning of every 
sub -pass and is primarily used for requesting P .Tables, Any 
other set-up type functions may also be performed in the init 
code. 

The initialize cod* is executed under five conditions. There 
are supervisor event flags that are used to let the diagnostic 
know under which condition the execution is taking place. The 
event flags are read using the "READEF" macro. 

The conditions under which the init code is executed and the 
corresponding event flags are: 



SfcQ 0062 
VAX-11 Bliss-16 V4.0-S79 Page U 

DISK *US£R2 : [ YOUNG . FMT ) ZRQB2 . B 16 1 2 (9) 



START COMMAND 
RESTART COMMAND 
CONTINUE COMMAND 
PQWERDOUN/POWERUP 
NEW PASS 

Example of event flag use: 



EF. START 
EF". RESTART 

EF. CONTINUE 

EF.PWR 

EF.NEW 



If READEFCEF. START) then 
START_FLAG « 1} 



First rend the event flag Er PUR to see 
if this init code is being performed due 
to a system power fail. If it is then 
report the incident to the operator and 
abort the DM machine and further execution 
of this program. 



f READEF (EF.PWR) 
then 

beg i n 

PRINTF TPWR MSG)i 

PRINTF (ABO MSG)j 

URT RDRX (RCIP, RC 

DOCLNj 

endj 



..ALL, ZEROS); 



!Ts the PUR event flag set 

JReport the incident and abort 
[Power fail print message 
•Aborting program message 
{Abort DM code execution 
JAbort further program e\ecution 



See If the DRS commands START or RESTART were used to start 
this formatting session. If either of them were used then 
start the formatting session ot logical unit £ero. 



ZRQBJ 




REV C PATCH 


5 1 .'59 


3 


; 1 760 


2 


j 1/fel 


3 


; 1 762 


3 


; 1763 


3 


; 1764 


3 


5 1 ."6r> 


3 


; 1766 


3 


; 1767 


3 


; 1 768 


3 


; 1 769 


3 


j 1770 


4 


; 1771 


4 


j 17 7? 


4 


5 17 75 


4 


j 1774 


3 


; 1775 


3 


: 1 7 76 


3 


j 177 7 


3 


j 1778 


3 


; 1779 


3 


; 1780 


3 


i 1781 


3 


: 178? 


3 


; 1783 


3 


; 1784 


5 


; 1785 


4 


; 1786 


4 


; 178/ 


4 


; 1788 


4 


; 1 789 


4 


; 1790 


4 


; 1791 


3 


i 1 /9? 


3 


; 1793 


3 


5 1794 


3 


; 1795 


3 


i 1796 


3 


; 1797 


3 


; 1798 


3 


; 1 799 


3 


t 1800 


3 


; 1801 


3 


5 180? 


3 


; 1803 


3 


; 1804 


3 


j 180 r » 


3 


; 1806 


5 


; 180/ 


3 


; 1808 


3 


; 1809 




j 1810 


3 


; 1811 


3 



RDRX DISK FORMATTER 
INITIALIZE SECTION 



. ) 



5 -Mar -1984 14:46:32 
5 -Mar -1964 14;39:06 



SEQ 0063 
VAX-11 Bllso-16 V4. 0-579 Page 1? 

DISK$USER?sf YOUNG. FMT]ZRQ82.B16{2 (9) 



if (READEF (EF. START)) or (READEF ( EF ..RESTART ) ) 'Did start of restart get us here 
then 

begin 

Check th«* operator for triing to format 
more than the defined limit. If they 
are then report the error and die. 



f .LSUNIT gtru l.SLIMIT 



then 



begin 

PRINTF (TO MANY UNITS); 
PRINTF (G000_NUM UNITS)} 
DOCLN; 
end i 



Everything looks good so far so lets 
move on and get the hardware question 
responses and save them. 



LUN » -lj 

do 

begin 

LUN « .LUN * 1: 

if .LUN gequ .L*UNIT then DOCLN; 

end 
until CGPHARO (.LUN, PT8L.PTR)) nequ ZERO; 

RDRX ADDR - .PTBL PTR [wrdOl; 
VEC_ADDR - .PTBL_PTR [wrdDj 
BR_LEVEL > .PTBL PTR [wrd2)j 
UNIT_N0 - .PTBL PTR [wrd3]; 



! Is the formatting limit exceeded 



! Report the error 

.'Tell him/her the limit 

!Go to cleanup and die 



IStart formatting at logical unit 



.'Load up the controllers base addres 
•load up the controllers vector address 
•Load up the controllers bus request 
{Load up the unit number to format 



Before leaving the Init code section we must 
first do some house keeping left behind from 
the ISD_STRUCT preset declaration. The adapter 
purge interrupt bit must be defined for the 
type machine this formatter is running under. 

f *bliss Cblissl6) {Define compiler 

then 

ISO*.. STRUCT IBL.Kl, WRD1. S?W PI 1 * ZERO ! No purging for PD n 11 



else 



INSTRUCT [BLKX. WRUl . S2W.P11 » UNEs 'Purging for VAX - H 



I ♦ 



t.At 



Ml' 



ZRQB2 




REV C PATCH 


; 181c? 


3 


; 181? 


3 


; 1814 


3 


1815 


3 


; 1816 


3 


j 1817 


3 


: 1818 


3 


; 1.819 


3 


; 1820 


3 


; 18.-71 


3 


; 18,22 


3 


: 182? 


3 


; 1824 


3 


; 1025 


3 


; 1826 


3 


; 182/ 


3 


; 1828 


3 


; 1829 


3 


i 1830 


3 


; 1831 


3 


5 1832 


3 


j 1833 


3 


; 1834 


3 


1835 


3 


i 1836 


3 


5 1837 


3 


j 1838 


2 


; 1839 


3 


; 1840 


3 


; 1841 


3 


; 1842 


3 


{ 1843 


4 


; 1844 


4 


: 1845 


4 


; 1846 


4 


; 1847 


4 


i 1R48 


4 


; 1849 


4 


; 1850 


4 


; 1851 


4 


; 1852 


4 


; 1853 


3 


i 1854 


3 


; 1855 


3 


; 1856 


3 


j 1857 


3 


; 1858 


4 


i 1859 


4 


; 1860 


4 


; 1861 


4 


; 1862 


4 


; 18M 


4 


j 1864 


3 



RDRX DISK FORMATTER 5-Mar-1984 14;46:32 

INITIALIZE SECTION 5-Mar-1984 14j39:06 

Now load in the RDRX formatter DM code from 
the local boot device into the 
blank buffer allocated in ozkel6. Report 
load error if on error code is returned. 

The DM code will only be read in during start 
or restarts of the host code. Block zero of the 
the DM ,sav File will thrown out. 

if LOAD ..FILE CAZFMTR, DM^FNSEXT, DM.SI/E) then DECODE ()j 



No* calculate the overlay sections starting address 
and store the result in global location 'ovsa' for 
future ref. 

This takes the DM buffer starting odrs and odds to it 
the number of bytes in the (initial load ♦ remote prog 
header size) resulting in the first adrs of the overlay 
sect ton. 



SEG1 0064 
VAX-11 Bliss-lb V4. 0-579 Page 

DISKSUSER2 ; [ YOUNG . FMT ] ZRQB2 . B16 s 2 



(9) 



! OVSA * AZFMTR ♦ (.AZFMTR [WRD0]); 
end 



IColculate overlay start adrs 



else 



begin 

if READEF (EF.C0NTINUE) 
then 

begin 

End this Host code if this . lun is the 
the last logical unit to format. 

f (.LUN * 1) gequ .LtUNIT then DOCLNj 
PRINTF (FMT3, .LUN, .UNIT.. NO); 
end; 
IF READEF CEF_NEW) then GPHARD (0, 0); 

do 

begin 

LUN ■ .LUN » lj 

if .LUN gequ .L*UNIT then DOCLNs 

end 
until (GPHARD C.LUN, PTBL.PTR)) nequ ZERO; 



! Report this luns format was aborted 



!New pass means all units formatted 



N!5 



ZRQB? 




ROAX DISK FORMATTER 


REV C PATCH 


INITIALIZE SCCTION 


j I 865 3 




; 1866 3 


RDRX ADDR - ,PTBL PTR fwrdO] 


; 1867 3 


VEC^ADDR - .PTBL.PTR [wrdllj 


; 1868 3 


BR LEVEL - .PTBL.PTR [wrd?]j 


; 1869 3 


UNIT. NO * ,PTBL_PTR [wrd3]j 


; 18 7 


? 


end 5 


; 18/ 


1 ? 


j 


; 1872 1 


tNDlNITj 


000000 


005/46 


LINIT: 


00000? 


01?700 


000034 


000006 


10444 7 




000010 


103025 




00001? 


012746 


OOOOOOG 


000016 


012746 


000001 


0000?? 


010600 




000024 


10441/ 




000026 


012716 


OOOOOOG 


00003? 


01?746 


000001 


000036 


010600 




000040 


104417 




00004? 


017766 


OOOOOOG 000006 


000050 


005000 




00005? 


0050 7 I 


ooooooc; 


000056 


104444 




000060 


06? 706 


00000^ 


000064 


012/00 


000040 1$: 


000070 


10444 / 




0000/? 


103404 




0000/4 


012700 


000037 


O00100 


10444 / 




00010? 


103065 




000104 


U?37?/ 


OOOOOOG 000020 2$: 


00011? 


10141/ 




000114 


012/46 


OOOOOOG 


000120 


012746 


000001 


000 124 


010600 




0001?6 


104417 




000130 


012716 


OOOOOOG 


000134 


012746 


000001 


000140 


010600 




00014? 


104417 




000144 


104444 




000146 


062706 


000006 


00015? 


112/3/ 


0003// OOOOOOG 3$: 


000160 


1052 V 


OOOOOOG 4 % x 


000164 


005000 




000166 


153700 


OOOOOOG 


0001/? 


02003 7 


OOOOOOG 


0001/6 


105401 




000?00 


104444 





5-Mar-1984 14 j 46: 32 
5^Mar-1984 14j39:06 



SEQ 0065 
VAX-11 BUss-16 V4. 0-5/9 Page 14 

DISK$USER2:[ YOUNG.FMT URQB2.B16;? (9; 



! Load up the controllers base addres 

[Load up the controllers vector address 

■Load up the controllers bus request 

!Load up the unit number to format 



.SBTTL 


LINIT INITIALIZE SECTION 


T5T 


CSP) 


MOV 


034, RO 


TRAP 


47 


BHIS 


IS 


MOV 


0PWR.M5G, -(SP) 


MOV 


01, -CSP) 


MOV 


SP.RO 


TRAP 


17 


MOV 


OABO.MSG,CSP) 


MOV 


01, CSP) 


MOV 


SP.RO 


TRAP 


1/ 


MOV 


aRDRX.ADDR.6CSP) 


CLR 


RO 


CLR 


3RDRX.ADDR 


TRAP 


44 


ADO 


06. SP 


MOV 


040.RO 


TRAP 


4/ 


BCS 


?J 


MOV 


03/, RO 


TRAP 


4/ 


BHIS 


6$ 


CMP 


L*UNIT,0?0 


BLOS 


31 


MOV 


OTO. MANY. UNITS, - ( SP ) 


MOV 


01, (SP) 


MOV 


SP.WO 


TRAP 


17 


MOV 


OGOOD, NUM. UNITS, CSP) 


MOV 


01, -CSP) 


MOV 


SP.RO 


TRAP 


17 


TRAP 


44 


AOD 


06 , SP 


MOVB 


03/7, 1. UN 


INCH 


I UN 


CLR 


RO 


nise 


I UN.RO 


CMP 


R0.L$UN1T 


Ul c 


5 % 


TRAP 


44 



J SP,* 



j SP,* 



s ♦,RC$5.HEb 
} RC^M.RE'G 



SP.* 



SP,* 



1/05 
1 744 



1 74/ 



1/48 



1 >49 



1 /46 
1759 



1 /*■»« 

1771 

17/2 



l ; 'o 
1 ■■«? 
l ;#'■ 



KU' 



RcV C 

000204 
000^1.0 
000212 
0002)6 
000220 
000224 
000252 
000240 
000246 
000254 
000256 
000262 
0O02b4 
000266 
000270 
0002 74 
0002 76 
000502 
000504 
0O0506 
000512 
000514 
0O0520 
000524 
0O0550 
000552 
000554 
000540 
000544 
000546 
0O0550 
000352 
000554 
000560 
000564 
000566 
O00572 
0O0576 
000400 
000402 
000404 
000410 
000412 
000416 
0O0420 
000424 
0004 52 
000440 
000446 
000450 



PATCH 

005000 
155700 
104442 
010057 
001760 
011057 
016057 
016057 
01605/ 
142757 
0O04 74 
012/00 
10444 7 
105025 
005000 
155700 
0O5200 
020057 
105401 
104444 
015/46 
005046 
115716 
012746 
012746 
010600 
104417 
062 706 
012700 
104147 
105004 
005000 
104442 
010057 
105257 
005000 
155700 
020057 
105401 
104444 
005000 
155700 
104442 
010057 
001760 
011057 
016057 
0160J7 
0160 '- 
0O e . V6 
000207 



RDRX DISK FORMAT TfcR 
INITIALIZE SE.CTION 



OOOOOOG 

OOOOOOG 

OOOOOOG 

0OCOO2 OOOOOOG 
000004 OOOOOOG 
000006 OOOOOOG 
000001 000006G 

000056 



OOOOOOG 
OOOOOOG 

OOOOOOG 

OOOOOOG 
OOOOOOG 
000005 



0000 to 
000055 



000000 
OOOOOOG 

OOOOOOG 
OOOOOOG 



OOOOOOG 

OOOOOOG 

OOOOOOG 

000002 OOOOOOG 
000004 OOOOOOG 
000006 OOOOOOG 



5$: 



6$ 



7*5 



fit: 



9t; 



10S: 



5-Mor-19fl4 14 } 46{52 
5-Mor-1984 14}59}06 



lit J 



CLR 


RO 


BISB 


LUN.RO 


TRAP 


42 


MOV 


RO.PTBl .PTR 


BtQ 


4* 


MOV 


(RO).RDRX.ADDR 


MOV 


2(R0),VEC,ADDR 


MOV 


4(R0),BR.LF.VF.L 


MOV 


6<R0),UNIT.N0 


BICB 


Ol.ISD. STRUCT. h 


BR 


111 


MOV 


056.R0 


TRAP 


47 


BHIS 


61 


CLrt 


RO 


BISB 


LUN.RO 


INC 


RO 


CMP 


RO.LIUNIT 


BLO 


71 


TRAP 


44 


MOV 


LNIT.NO, CSP) 


CLR 


(SP) 


MOVB 


LUN.CSP) 


MOV 


0FMT5, (SP) 


MOV 


♦5, (SP) 


MOV 


SP.RO 


TRAP 


17 


ADO 


OiO.SP 


MOV 


055, RO 


TRAP 


4/ 


BHIS 


9$ 


CIR 


RO 


TRAP 


42 


MOV 


Ro.aoo 


INCB 


LUN 


CLR 


RO 


BISB 


LUN.RO 


CMP 


AO.l tUNIT 


Bl.O 


10$ 


TRAP 


44 


CLR 


RO 


BISB 


LLN.RO 


TRAP 


42 


MOV 


RO.PTBl .PTR 


BtQ 


9? 


MOV 


(RO).RDRX.ADDR 


MOV 


2(R0).VFC.AD0R 


MOV 


4(R0),BR.LEVFL 


MOV 


6(R0),UNIT.NU 


T^! 


C SP ) . 


RT\ 


PC 



SEQ 0066 
VAX- U Bli«s 16 V4.0-579 Pao* 15 

DlSK$USER2j[ YOUNG, TMT URQB2.B16 j2 (9.) 

I 1/91 



1/95 

1/94 
1795 
1 7% 
1805 
1 /5'* 
1841 



t SP,« 



1649 



1851 



1H4 5 
1655 



1*59 
1661 



16o4 



16^t> 
irt* ' 

l*r^ 
i -05 



Routine '.wet 149 viorda, 



Routine tiotiei tCUOEt . 01G4 



Ca 



\") 



/Raw* 1 

Re.V C PATCH 



RDRX DISK FORMAT It R 
INITIAl.I/t SECTION 



Maximum stack depth per invocation; 7 words 



r >-Mar-l964 14:46:32 
5-Mor-l<JB4 14:39:06 



VAX- 11 Bliss It V4.0 5 79 ^PaSe' 16 

DISKIU5ER2J C rOUNG.FMT]ZRQB2,H16|2 (9) 



oooooo 004 :$; 

000004 104411 
000006 00020? 



000164 



.SBTTL. 
LJINIT: sJSR 
TRAP 

RTS 



LIINIT INITIALIZE SECTION 

PC.LINIT 

11 

PC 



1870 



; Routin* St re: 4 nords, Routine Base: ICOOE$ ♦ 0636 
j Ma\'mum stack depth per invocation: 2 words 



ZRQBJ 

REV C PATCH 



1873 
1874 

16 ;s 

1876 

18?: 

18 '*8 
1879 
1880 
1881 
188^ 
188? 
1884 
188f> 
1886 



Db 



RORX DISK FORMATTER 
AUTODROP SECTION 



5-Mar~1984 
5^Mar-1984 



14;46;32 
14} 39; 06 



VAX-U Bl!9s-16 V4. 0-579 StQ Poo« 8 17 
DISK *USER2 : [ YOUNG , FMT 1ZRQB2 . B16 j 2 r 10; 



*sbttl 



AUTODROP SECTION 



This code is executed immediately after the : nitiali/e code if 
the "ADR" flag was set. The unit(s) under test are checked to 



J see I f 

! dropped 
i . 

QGNAUTO; 
i 

! Testing 

! i s done 

i 

return; 
ENDAUTOj 



they will respond, 
from testing, 



Those that don't are immediately 



devices for existence 
Via test 1 of this program, 



000000 000207 

; Routine S»re: I word, 
j Maximum stack depth per 



LAUTO: 

Rout Ine Base; 
invocation? words 



.SBTTL 
RTS 



LAUTO 
PC 



AUTODROP SECTION 



1872 



*C0DE* ♦ 0646 



000000 

000004 
000006 



004 73 7 
104461 
000207 



000646 



.SBTTL 
LJAUTO; ;JSR 
TRAP 

RTS 



LSAUTO AUTODROP SECTION 

PC, LAUTO 

61 

PC 



1885 



Routine Si/e: 4 words. Routine Base: JCODE* * 0650 
Maximum stock depth per Invocation; ? words 



F ( 



7RQB2 

REV C PATCH 



1887 
1888 
1889 
18^0 
1891 
1892 
1893 
1894 
189S 
1896 
189? 
1898 
189^ 
1900 
1901 
190 J 
1903 



RORX DISK FORMATTER 
CLEANUP CODING SECTION 

*sbttl 'CLEANUP CODING SECTION' 



5-Mor-1984 14:46;32 
5-Mar-1984 14;39:06 



SEQ 0069 
VAX-11 Bliss 16 V4. 0-579 Page 18 

DISI<*USER2;[ YOUNG. FMT)ZRQB2.B16;2 f 11) 



Cleanup coding is assembled with the diagnostic program, utilizing in 
itiating CBGNCLN) and ending (ENDCLN) directives. The codinfl con be 
used by either the diagnostic program or the supervisor to affect the 
return of a test device to a static state. 

The clean-up code is invoked in three different ways: 

A. At er^<i of every sub pass 

B. Issuance of DOCLN macro 

C. Operator tC 

BGNCLN 
BRESET 
return 
ENDCLN 



000000 
000002 



104433 
00020 ? 



.SBTTL LCLEAN CLEANUP CODING SECTION 
LCLEAN: TRAP 33 
RTS PC 



1900 
1886 



Routine Size: 2 words, Routine Base: JCODES ♦ 0660 
fia\imum stack depth per invocation: 2 words 



000000 00473? 000660 1 



000004 104412 
000006 000207 

; Rout i ne S 



.SBTTL LiCLEAN CLEANUP COOING SECTION 
LiCLEAN:: 

JSR PC, LCLEAN 

TRAP 1^ 



1902 



RTS 



c 

PC 



4 words. 



rwuime dzc: h woros. Routine Base: $CQDE$ *■ 0664 
Maximum stack depth per invocation; 2 words 



6 



ZRQB2 

REV C 



PA1CH 



1904 
1905 
190b 
190? 
1908 
1909 
1910 
1911 
191? 
1915 
1914 
1915 
1916 
191 '.' 
1916 



RDRX DISK 
DROP UNIT 



FORMAT TER 
SECTION 



5-Mar-1984 
S-Mar-1934 



. , SEQ 0070 

14j46:32 VAX-11 Bliss-16 V4 . 0-579 Page 19 

14 ! 39 j 06 DISK *USER2 : [ YOUNG . FMT 1ZRQB2 . B16 j 2 (12 ) 



Ksbttl 'DROP UNIT SECTION' 



The drop code is invoked by a OOOU macro or* a drop command, and con- 
tains any code that needs to be executed in con junct ion with the drop- 
ping of a unit from the test cycle. No coding is required in this 
section. 

The effect of a DOOU is the same whether executed in the in It code or 
In a hardware test. It Invokes the drop unit coding and causes subse- 
quent GPHARD'S for that logical unit to be returned "NOT COMPLETE". 
This effect lasts only for the duration of the current command 

BGNDU; 

return} 
ENDDU; 



000000 00020 7 



Rout Ine 

Maximum 



Size: 

StOCk 



LDU: 

1 word, Routine Base; 
depth per invocation; words 



.SBTTL LDU DROP UNIT SECTION 
RT5 PC 

$C0DE* » 0674 



1903 



000000 004 73 7 000674' 
000004 104453 
000006 000207 



L5DU: j 



.SBTTL 


L*DU DROP 


JSR 


PC, LDU 


TRAP 


53 


RTS 


PC 



UNIT SECTION 



1917 



Routine Size: 4 words. Routine Base: *CQDE$ ♦ 0676 
MoKimum stack depth per invocations 2 words 



ZRQB2 
REV C 



PATCH 



1919 
1920 
1921 
1922 
1923 
1924 
1925 
1926 
1927 
1928 
1929 
1930 
1931 
1932 
193? 
1934 
1935 



G6 



RORX DISK FORMATTER 
ADD UNIT SECTION 

#sbttl 'ADD UNIT SECTION 



5 Mar -1984 14:46:32 
5-Mar-1984 14:39{06 



SEQ 0071 
VAX-11 Bllss-16 V4. 0-579 Page 20 

DISK$USER2j[ YOUNG, FNT]ZRQB2,B16}2 f 13) 



The add code is invoked by the ADD command, and contains any code that 
needs to be executed ( in conjunction with adding a unit back to the 
test cycle. No coding is required in this section. 



Units may be added to the test sequence onl 
tor ADD command. Each unit must have a 
earlier hardware dialogue (I.e. the unit was 
■ code must be delimited by BGNAU, ENDAU* 



The ADD 

lar coding required 



y through the use of opera 
P- TABLE in memory due to an 
prev i ous 1 y dropped ) . 
There is no particu 



In the add code to cause the add to be effective: 



The section is just for programmer housekeeping, 

BGNAUj 
return j 
ENDAU; 



000000 000207 

; Routine Sire: 1 word, 
j Maximum stack depth per 



LAU: 

Routine Base: 
invocations words 



,SBTTL 

RTS 



LAU ADD 

PC 



UNIT SECTION 



1918 



iCODE* ♦ 0706 



000000 004 737 000706' 
000004 104452 
0O0C06 000207 



,SBTTL LiAU AQD UNIT 

l*AU:: JSR PC, LAU 

TRAP 52 

RTS PC 



SECTION 



1934 



; Rout'ne Size: 4 words, Routine Base: $C0DE$ ♦ 0710 
: Ma\in.um stick depth per invocation; 2 words 



1936 


1 


end 


193/ 


1 




1938 





eludom 



Psect Name 
$C0DL$ 



PSECT SUMMARY 

Words Attributes 
P3P RO , I , 



UCL, REL, CON 



Library Statistics 



ZRQB2 

REV C PATCH 



RDRX DISK FORMAT IbR 
ADD UNIT SECTION 



File 
DISKSUSER2:[ YOUNG. FMT)ZRQBB0,L16t4 



H6 







S-Mar-1984 

5~Mar-19B4 


14:46:32 
14:39:06 


VAX-11 bi; 
DISKIUSER2 


Total 


- S/mbols 
Loaded 


Percent 


Pages 
Mapped 


Processing 
T ime 


355 


104 


29 


18 


00:00,1 



SEQ 0072 

Page 21 
i C 13 J 



COMMAND QUALIFIERS 
BLISS/PDP11/LIST ZRQB2.B16/EN:N0E IS/SOURCE *PAGEt 53 



Sire: 179 code » 

Run T Ime: 00: 15,4 
Elapsed Time: 02:12.3 
I Ines/CPU Min: 7535 
Levemer./CPU-MIn: 47202 
Memory Used: 194 pnges 
Compilation Complete 



53 data words 



i( 



'RQB3 



0001 





000? 





0005 





0004 





000b 





0006 


1 


000 7 


1 


0003 


1 


000 l > 


1 


0010 


1 


0011 


1 


00 I? 


1 


ir>48 


1 


1549 


1 



RDRX DISK FORMATS 

MODULE: ZRQB3 (KTITLE 'RDRX DISK FORMATTER' 

IDENT - 'REV C PATCH 0' , 
ADDRESSING_MOOE (ABSOLUTE) 
ENVIRONMENT (NOEIS) 
) * 

BEGIN 

! MAIN CODE FOR FORMATTER 

library 'ZRQBB0.L16' ; 

require 'DLSMAC.REG' ; 
*sbttl 'MODULE DECLARATIONS' 



:) 



5-Mar~1984 14:48-56 
5-Mar-1984 14:39:51 



SEQ 0075 
VAX-11 Bliss-16 V4. 0-579 Page i 

DISK SUSER2 : f YOUNG . FMT 1ZRQB3 . B16 ; 15 ( 1 ') 



.'Define RDRX Formatter library 
! Define Bliss Macro require file 



J( 



) 



ZRUB5 




REV C PATCH 


; 1550 




5 1551 




; 1552 




; 155? 




; 1554 




; 1555 




; 1556 




; 1557 




; 1558 




; 1559 




? 3 560 




; 1561 




; 156? 




; 1565 




; 1564 




; 1565 




; 1566 




; i5t>; 




; 1568 




; 1569 




15/0 




; 1571 




; 157c? 




; 1575 




; 15/4 




; 1575 




; 1576 




; 1577 




; 15/8 




j 1579 




; 1580 


> 


; 1581 


< 


i 158? 


2 


; 1585 


?. 


; 1584 


"i 


; 1585 


i 


; 1586 




i 158/ 


<' 


; 1588 


I 


; 1589 


1 



RDRX DISK FORMATTER 
MODULE DECLARATIONS 

forward routine 
btod , 

REV8 : novalue 
REV9 : novalue; 



The psect named "code or $codet" «s redefinded here 
to be called "ab$code". This is done to organ i/e the 
formatters test sections into a seperate psect. 



5-Mor-1984 14;48;56 
5-Mar-1984 14;39;5l 



SEQ 0074 
VAX-11 Bliss-16 V4. 0-579 Page 2 

DISK $USER2 : [ YOUNG . FMT ] ZRQB3 . B16 j 15 C 2 ) 



psect 

code 



ab$code; 



Structure declarations used within this module, 



structure 



RDRX register accessing structure. This 
structure allows RDRX register accessing 
to be transportable between the PDP-11 and 
VAX Diagnostic Supervisors. 

This also defines an access algorithm for 
VAX to allow field reference to MBA address 
space without generating machine checks. 



RDRX [0, P, S, E] - 
begin 

local 

RC*S„REu5 

RCSS..RfcG " .(RDRX f *qpvaUQ)<Q, *bpvai, 0>s 

RC*S REG 

end 



\/ . 



!<(■: 



ZRUB.5 
REV C 



PATCH 



RDRX DISK FORMAT UR 
MODULE DECLARATIONS 



} 



5 -Mar -1964 14j48:56 
!>-Mar-19H4 14;39}51 



SEQ 00 /b 
VAX-11 Bliss-16 V4. 0-5/9 Page 3 

DISI<JUSER2:[Y0UNG.FMT]ZRQB3.B16j 15 (5) 



1590 

ir>9i 

1592 
1593 

159*; 

1595 
1596 
1597 
1598 
15^9 
1600 
1601 
1<=*V 
1603 
1604 
1605 
1606 

160/ 

\608 



External Routines declared outside this module. 



external routine 
setcpu, 
copy, 

ABORT, 

GET DUST STATUS, 

FX LOC PROG, 

REC DATA. 

SEND DATA, 

SET CNTLR CHAR, 

DUPSI..SERVICE : 

INT*I SERVICE : 

INIT .COM^AREA, 

BOOT .RDRX, 

DECODE i novaluej 



INT t NKUYP novalue, 
INTJ_NK$TYP novalue. 



h 



7RQB3 
REV C 



PATCH 



RDRX DISK FORMATTER 
MODULE DECLARATIONS 



5 Mar -1984 14j48«56 
5-Mar-1984 14j39;51 



SEQ 00/6 
VAX-It BUss-16 V4.0 5/9 Page 4 

DISK $USER2 : t YOUNG . FMT ]ZRQB3 . B 16 ; 15 ( 4 ; 



1609 
lblO 
1611 
161? 
1613 
1014 
1615 
1616 
1617 
1MB 
1619 
1620 
1621 
16.22 
1623 
1624 
1625 
1626 
162? 
1628 
1629 
1630 
1631 
163? 
1633 
1634 
1635 
lt>36 
1637 
1638 
1639 
1640 
1641 
164? 
164? 
1644 
1643 
1646 
164/ 
1645 
1649 
1650 
1651 
165? 
1653 
1654 
1655 
1656 
165/ 
1658 
1659 
1M,0 

1661 



External 
declared 



external 



Declaration of dotums 
outside of this module. 



! Micellanious external data declarations 



REC.ENVELOPE ; blockvector [ REALLOCATE 



NXT.CRN j 
RET„EN$AD 
SND_BuV • 
REC_BUF j 
MSGADR, 
NSD^SLOT : 
NRD SLOT : 
VEC_ADDR : 
RET STATUS 
PID..SAVc : 
RDRX ADDR 
PTBL_PTR : 
SW UNIT NO 
SW MODE 



UC VER 

(,»NIT NO 



byte, 

: »*ef block {RB^SIZE ♦ 2, word 
vector [SNDB SIZE, word], 
block [RECB_SIZE, word] Field 

word, 
word, 
word, 
: word, 
word, 

ref RDRX field (ISO. FIELD), 
ref vector [4, word]» 
; word, 
word, 



byte, 
i word, 



, RB.SI2E ♦ 2, word] field (ENV ..FIELD), 

I Next seq command ref number 
] field CENV FIELD). 

•DUP send cmd text buffer 
CRECB„FIELD), JDUP receive cmd text buffer 

Pointer to DM sent asc i i text 

Stores next send ring slot to load cmd into 

Stores next receive slot to expect response 

Stores controllers vector address 

Stores return status of called routines 

Saves process indicator word 

RDRX reference structure 

table pointer for fetching unit number 

software table unit number 

software table mode 

controller version number 

unit number to format 



i n 



! In it sequence code error and informational messages 
I 

BOOT .FAILURE, 

PR0TO_VIOLATI0N, 

P0RT_INIT ERR, 
i 

! Default values 

i 

DEE. SERIAL, 
DEF_DATE, 

! Printing format strings 

FMT1, 

KMT?, 
FMT4. 
FMT .ERR : vector [7], 

DA TM5G, 
CRLF, 

I 

i 

•Special questions SO the formatter can save code, 

UNITS MSG. 
ixrsT* M5G, 

D0WN$_M5G, 



t 1 



Mb 



7RQB5 
RfcV C 



PATCH 



16o? 
lbt>3 
1660 
lw>5 
Ibbb 



RDRX DISK FORMAT U.H 
MODULE DECLARATIONS 

INACC* MSG, 
DR.T* MSG, 
SERIALS MSG, 
DATbS.MStii 



5 -Mar -1984 14:48:56 
5 Mar-1984 14:39:51 



VAX-11 Bliss-16 V4. 0-579 

DISK $USER2 5 [ rOUNG , FMT ] ZRQ83 . B 16 j 15 



SF.Q 00 7/ 
Page 



C4) 



Nf 



7RQB3 

Rev c 



PA1CH 



166/ 
lt.68 
166^ 
16/0 
16/1 
16 7? 
16/3 
16 74 
16 7S 
16/6 

16/; 

16/8 
16 7<* 
1680 
1681 
168? 
1683 
1684 
1685 
1686 
168 7 
1688 
1689 
1690 
1691 
169? 
1693 
lb94 
169', 
1696 
169/ 
1698 
1699 
1 /no 
1/01 
1/02 
1/03 
1/04 
1 /OS 
1 706 
1/0/ 
1/08 
1709 
1/10 
1/11 
1 /l? 
1 /15 
1/14 
1/15 
1716 
1/1/ 
1/18 
1719 



1 
3 
? 

3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
^ 
3 
3 
^ 
3 
3 
3 
*; 
3 

3 

*, 

3 

3 

3 

3 

3 

3 

3 

3 

3 

3 

3 

3 

3 

3 
/ 

4 
4 
4 
4 



RDRX DISK 

FORMATTER 



^ ORMATIER 
SECTION 1 



5 Mar- 1984 14:48:56 
5-Mar-1984 I4;39;5l 



VAX-11 Bliss 16 V4. 0-579 
DISKSUSF.R2: [ YOUNG, FMT1ZRQB3.B16; 15 



I 00/8 
Page 6 
(5) 



rfsbttl 
BGNTST 



FORMATTER SECTION 1 



♦ ► 



Functional Description 
Impl ic i t Inputs : 
Implicit Outputs ; 
Complet ; on Codes : 
Side Effects : 



I.ABEL 

own 



TLOOP} 



RETRIE 



loopc ; 

The ne\t tning to be done is to boot the 
RDRX controller. We will allow a few 
retries i f not successful after the first 
boot before we concidered the Controller 
dead. 

But before we do the boot sequence the processors 
priority and interrupt vector address must first 
be loaded. During the Inlt sequence the In I t 
sequence interrupt service routine will just flag 
any interrupts and ignore them since interrupts are 
disabled during in it sequence. Later the DUP interrupt 
service routine will be load and do the DUP communications 
protocol. 

The following priorities will be assigned: 

1. Processor will run at priority zero, 

?. The RDRX runs at priority 5 by default. 

3, The DUP interrupt routine will run at priority /. 



! Store number of retries to perform 



SET PR I (PRIOO): 
CLRVEC ( .VEC ADDR)j 
SETVEC (.VEC .ADDR, INMI 



SERVICE, PRI0/)j 



J Set the proressers priority 

!Clear out the vector before setting 

•Set the interrupt service priority 



Retry the RDRX booting until the 
return is true or the retry limit 
is reached. 

setcpu C ) 5 
RETRIES - -1; 

do 

begin 

RET STATUS - BOOT RDRX t){ 

Rl TRIES = .RETRIES * 1 j 

end 



J set up delay constant for timing loops 
•Reset the retry counter 



•Hoot the RDRX controller 
!Up the retry count 



[■)/ 



ZRQB5 




REV C PATCH 


t 1 720 


5 


X7.?l 


5 


i ? *> -* 


5 


i 1 1 cc 


; l'.V5 


3 


j 1 724 


3 


; i ;:s 


3 


; 1706 


^ 


{ 1 <V ? 


3 


j 17;>8 


4 


: 17J.Q 


<* 


t 1 .'JO 


4 


; 1731 


4 


; 1.'5.' 


3 


; 1*55 


? 


1 734 


3 


; l"3 r . 


3 


; 1756 


3 


5 173 7 


3 


t 1 .'38 


3 


1 '39 


3 


j 1 .'40 


3 


; 1741 


3 


; 1 '42 


3 


; 174 5 


3 


1 744 


3 


i 1H*) 


3 


I 1 746 


3 


; 1 *4 7 


5 


; 174 8 


4 


; 1 74* 


4 


; 1 750 


4 


j 1751 


4 


i I75c» 


3 


; 175 5 


3 


1754 


3 


; 1755 


3 


i 1756 


3 


5 1757 


3 


; 1 758 


3 


; 175S 


3 


i 1/60 


3 


j 1761 


3 


; 1762 


3 


; 1/63 


3 


} 1 /64 


3 


j 1 /65 


3 


; 1 /66 


3 


j 176 7 


5 


; 1 76H 


3 


1 1 764 


> 


I l.' 7 


3 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 

until ( ,RET..$TATUS) or (.RETRIES eolu ONI ) i 



Refort booting trror if the return 
status n»v«r came back as true, 

f not ,RET„STATUS 
then 

begin 

PRTNTB C BOOT ^FAILURE) j 

DORPT; 

DOClNi 

end i 



No* that the RDRX controller is 
booted, check to make turt that the 
controller has done i te part ©f the 
DUP protocol by clearing out the 
port communications area. 

While we're there eet up the communication 
area for the up and coming communications 
between the remote and host program. 



if INIT_C0M_AREA ( ) 
then 

begin 

PRINTB (PR0T0 VIOLATION); 

PRINTS (PORT INIT ERR)j 

DOClNi 

end j 



Before writiny the go to the IP register 
load the Dl* 3 interrupt service *<}r+ into 
the RDRX vector address for the up and 
coming communications between the host 
and controller, 

CLRVEC ( .VCC:_ADDR)| 

SETVEC (,VEC_ADDR t DUPl I SERVICE . PRI07), 



5-Mar-1984 14{4p,}56 
5 Mar 1984 14:39:51 



SEQ 00 79 
VAX-U Bliss 16 V4. 0-579 Paoc / 

DI5KIUSERPj[Y0ijN(i.FMT]/RQB3.B16jl r > (5) 



Repeat the Boot unt i 1 done 



IDid th* Controller boot 
.'Report a boot error 

!Report some statistical data 
{Abort the program 



!Was the com arts cleared out as expected 
J Com area not In! ted so error and abort 



♦Clear out the vector before starting 
!Set the interrupt 9erv!ce priority 



All systems are go. Start the controllers 
functional micro code off and running, Write 
to^ the SA Register with the go bit set an«£ start 
things rol 1 Ing. 



WTU.RQRX (RCbA, RC.ALL. ONE 3 \ 



H.et the controller go 



c/ 



ZRQB5 

REV C PATCH 



i : /? 

17 74 

1:75 

17 "6 
K.V 
1778 
1779 

1780 
1781 
1782 
1785 
1784 
178? 
1786 
178 7 
1788 
1789 

1790 

1791 
179? 
1793 
1794 
1795 
1796 

1797 
1796 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 

!*sbttl 'FORMATTER SECTION 



Functional Description 
Impl ic 1 t Inputs : 
Implicit Outputs : 
Completion Codes { 
Side Effects : 



Set the controller characteristics. Default 
values will be taken In all cases except for 
the host time out value which will be changed 
to * wait for ever* , 



f SET_CNTIR_CHAR () then DECODE ()j 



Do a unit on line cmd which will spin up the 
device and load the heads. The unit to be 
placed on line will be the last unit number 
received from the ' gphard' macro In the In It 
code. 



5-Mar-1984 
5-Mar-1984 



14: 48 }S 6 VAX -11 Bliss -If, V4 .0-579 

14} 59 j 51 0ISK»USER2j[r0UNG.rMT)ZRQB3,B16|li 



SEQ 



0080 
Page 8 
(6) 



.'Call decode »f not successful 



ZRQB3 




REV C PATCH 


; 1799 


3 


j 1800 


3 


1801 


? 


; 1802 


3 


; 180? 


3 


; 1804 


3 


; 1805 


? 


; 1806 


3 


1807 


3 


; 1808 


3 


; 1809 


3 


j 1810 


3 


j 1811 


3 


; 1812 


3 


; 1813 


3 


; 1814 


3 


; 1815 


3 


; 1816 


4 


{ 1817 


4 


5 1818 


a 


: 1619 


4 


; 1820 


4 


; 1821 


3 


; 1822 


3 


: 1823 


3 


: 1824 


3 


i 1825 


3 


; 1826 


3 


: 182 7 


3 


; 1828 


3 


; 1829 


3 


i 1830 


3 


; 1831 


3 


1832 


3 


j 183? 


3 


1 1834 


3 


; 183b 


3 


1836 


3 


; 163/ 


3 


; 1838 


3 


; 1839 


3 


; 1840 


3 


: 1841 


3 


J 1842 


3 


: 1843 


3 


; 1844 


3 


; 1845 


3 


: 1846 


4 


; 184/ 


3 


; 1848 


4 


: 1849 


4 


; 1850 


4 


; 1851 


4 



0/ 



RDRX DISK KDRMATU.R 
FORMATTER SECTION 1 

*sbttl 'FORMATTER SECTION 3 



S.M«rl984 14i4rt!56 
5-Mar-1984 I4i39:5l 



VAX -11 Bliss 16 V4.0 5/9 ^pSge 1 9 

DlSIOU5ER2!nOUNG,FMT]ZRQB3.B16;15 (7) 



See if the Oup server in the RDRX Controller Is In an 
idle 9tate. To do this first get the dust status and 
then look at the flag field bit 3 for a : 

■ Idle 

1 * active 



f GET„DU5T_STATUS () then DECODE ()» 



{Call Decode If connection error 



Look In the flag field bit 3 to see if the server 19 active. 



f .RET„EN*AD [FLG.B3] 
then 

be g i n 
****************** 

! Do 9ome stat recording 

1***********4****+ 

DOCLNj 

end; 



!If the server is active exit and reboot 



.•Exit this passes execution 



The server is not active so down line load the formatter 
and start its execution by issuing a "Execute local program". 
Call the decode routine If a connection error Is detected. 



f EX„L0C.PR0G () then DECODE C)j 



!Cail decode if connection error 



Get the dust status to see If the server Is In an active 
state. An active state Is what we want so er^or if the 
server is i n an idle state. 

If In the active state then save the progress indicator 
In "Pid.save" for future reference. 



f GET_DUST_STATU5 C) then DECODE C)j 



!Call decode If connection error 



Look at the flag field bit 3 to see If the server is active. 



f not ( .RET.ENIAD [FLG B3]) 
then 

begin 

1 ***************** 

! Do some stat recording 
****************** 



•Reboot if server Is Idle 



F7 



ZRQB3 

REV C PATCH 



1352 
1853 
1854 
1855 
1856 
1857 
1858 
1859 
1860 
1861 
1862 
1863 
1864 
1865 
1866 
18b7 
1868 
1869 
1870 
1871 
1872 
1873 
1874 
1875 
1876 
1877 
1878 
1379 
1880 
1881 
1882 
1883 
1884 
1885 
1886 
1887 
1888 
1889 
1890 
1891 
1892 
1893 
1894 
1895 
1896 
1897 
1898 
1899 
1900 
1901 
1902 
190 5 
1904 



4 
4 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 



5~Mar-l984 14:48:56 
5-Mar-1984 14:39t51 



SEQ 0082 
VAX -11 Bliss-16 V4.0 579 Page 10 

DISMUSER2: T YOUNG. FMT1ZRQB3.B16; 15 (7) 



else 



DOCLNj 
end 

►■ 

PID..SAVE - ,RET,.FN*AD (PLO.INOh 



.'Exit this passes execution 
{Save the progress indicator 



The Dup server Is In the active state running the formatter 
program. This 00 LOOP will loop on the OUP sub -protocol 
doing the "send and receive" data commands. These commands 
establish the communications between this host program and 
the remote formatter program running in the RDRX controller, 

loopc * 0; 

while .loopc eqlu do 
beg«n 



Do a • Recel ve_data' command which poll's the remote program 
for a message. The returned message can either be a: 

1. Question 

Where the ascii text Is a prompt for information, 

2. Default question 

Where the default question message is identical 
to the question message exept that a null (zero 
length) send data is taken to be a default answer 
to the question. 

3. Information 

Where the asc i I tent Is an Informative message. 

4. Termination 

Where the ascii text Is an normal termination message. 

5. Fatal Error 

Where the asc 5 I text Is a fatal error message. 

6. Special 

This type is used when only a host program could 
respond. 



CL R RBUf ■ 

if REC_DATA O then DECODE (){ 



{Clear out the receive buffer area 
JCall decode >f connection error 



! From the first word In the send/receive data buffer, loow 
! to see what type message the remote program has sent to 
! the Host program. Use this message type number to index 
! into the select expression to perform the requested action 
! by the remote program. 



F 7 



ZRQB3 




REV C PAT 


CH 


j 1905 


4 


; 1906 


4 


j 1907 


4 


i 1908 


4 


; 1909 


4 


1910 


4 


; 1911 


4 


; 191? 


3 


; 1913 


J 


; 1914 


3 


; 1915 


4 


; 1916 


4 


; 1917 


4 


; 1918 


4 


; 1919 


4 


j 1920 


3 


; 1921 


1 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 



5-Mar-1984 14;48;56 VAX-11 BUss-16 V4 . 0-5/9 SEQ Pa£e 3 11 
5-Mar-1984 14s39:5l DISKSUSER2: [ YOUNG. FMT ]ZRQB3.B16j 15 (7) 



CLR.SBUF; JClear out the send buffer area 

CH$PTR (MSGADR, .REC. ENVELOPE [,NSD_SL0T, BLO..CNT] - 2)<0, S> • Oi 



If ,UC_VER lequ 8 then REV8 ( loopc ) 
else REV9 (RETRIES, loopc ) ; 



{be compatable with version 8 and 9 



end*, 

WRT^RDRX CRCIP. RC„ALL, ONES)} ! shut down the controller 
i f . loopc eqlu 1 then 
begin 

EXIT.TST; ! normal termination 

else begin 

DOCLN; J error abort 

end; 
ENDTSTj 



.TITLE ZRQB3 RDRX DISK FORMATTER 
.IDENT /REV C / 
.ENABL AMA 



000000 

oooooo 

000002 



.PSECT $0WN$, 
RETRIES j. BLKW 1 
LOOPC: .BLKW 1 



D 



.GLOBL SETCPU, COPY, ABORT, GET . DUST . STATUS 

.GL06L EX.LOC.PROG, RECDATA, SEND. DATA 

.GLOBL SET. CNTLR. CHAR, DUPU. SERVICE 

.GLOBL INTII. SERVICE, INIT .COM. AREA, BOOT.RDRX 

.GLOBL DECODE, REC. ENVELOPE. NXT.CRN 

.GLOBL RET.ENIAD, SND.BUF, REC.BUF, MSGADR 

.GLOBL NSO.SLOT, NRD.SLOT, VEC.ADDR, RET. STATUS 

.GLOBL PID.SAVE, RDRX.AODR, PTBL.PTR 

.GLOBL SW.UNIT.NO, SW.MODE, UC.VER, UNIT. NO 

.GLOBL BOOT. FAILURE, PROTO .VIOLATION 

.GLOBL PORT. INIT. ERR. DEF. SERIAL, DEF.DATE 

.GLOBL FMT1, FMT2, FMT4, FMT.ERR, DATMSG 

.GLOBL CRLF, UNITS.MSG, EXIST*. MSG, DOWN<,MSG 

.GLOBL INACCS.MSG, DFLTS.MSG, SERIALS. MSG 

.GLOBL DATES, MSG 



OOOOOO 

OOOOOO 010146 
000002 162706 



000006 



000006 
000010 



005000 
104441 



.SBTTL $T1 TORMATTER SECTION 1 

.PSECT $ CODES. RO 

$T1; MOV Rl,-(SP) 

SUB 06, SP 

CLR RO 

TRAP 41 



16*5 
1 "OJ 



G 7 



ZRQB3 

REV C PATCH 







000012 
000016 
000020 
000024 
000030 
000034 
00C040 
000042 
000046 
000054 
000060 
000064 
0000 70 
000074 
OOC076 
000104 
000106 
000114 
000116 
000122 
000126 
000130 
000132 
000134 
000136 
000140 
000144 
00014t> 
000150 
000154 
000160 
000162 
000164 
000170 
000174 
000176 
000200 
000202 
000204 
000210 
000212 
000216 
000222 
000226 
000232 
000234 
000240 
000246 
000252 
000256 
C00262 
000264 
000266 



013700 
104436 
012746 
012746 
013746 
012746 
104437 
004737 
012737 
004737 
010037 
005237 
032700 
001004 
023727 
001363 
032737 
001011 
012716 
012746 
010600 
104414 
104424 
104444 
005726 
004737 
006000 
103016 
012716 
012746 
010600 
104*14 
012*'16 
012746 
010600 
104414 
104444 
022626 
013700 
104436 
012716 
012746 
013746 
012746 
104437 
013700 
016066 
012701 
010160 
004/37 
006000 
103002 
004737 



RDRX DISK FORMAT TER 
FORMATTER SECTION 1 

OOOOOOG 

000340 
OOOOOOG 
OOOOOOG 
000003 

OOOOOOG 

177777 000000' 

OOOOOOG 

OOOOOOG 

000000' 

000001 

000000' 000001 

000001 OOOOOOG 

OOOOOOG 
000001 



1$ 



2$ 



OOOOOOG 



OOOOOOG 
000001 



OOOOOOG 
000001 



OOOOOOG 

000340 
OOOOOOG 
OOOOOOG 
000003 

OOOOOOG 

000002 000016 
000001 
000002 
OOOOOOG 



OOOOOOG 



3$; 



4$j 



5-Mar-1984 14:48:56 

5-Mar-1964 14{39;51 



MOV 


VEC.ADDR.RO 


TRAP 


36 


MOV 


0340, -CSP) 


MOV 


OINTJI. SERVICE, -(SP) 


MOV 


VEC.AODR, -(SP) 


MOV 


03, (SP; 


TRAP 


37 


JSR 


PC, SETCPU 


MOV 


0-1, RETRIES 


JSR 


PC, BOOT. RDRX 


MOV 


RO.RET. STATUS 


INC 


RETRIES 


BIT 


01, RO 


BNE 


2* 


CMP 


RETRIES, 01 


BNE 


1* 


BIT 


CI, RET. STATUS 


BNE 


3$ 


MOV 


0600T. FAILURE, (SP) 


MOV 


Ol.-(SP) 


MOV 


SP.RO 


TRAP 


14 


TRAP 


24 


TRAP 


44 


TST 


(SP)* 


JSR 


PC, INIT.COM. AREA 


ROR 


RO 


BCC 


4$ 


MOV 


OPROTO. VIOLATION, (SP) 


MOV 


01, -(SP) 


MOV 


SP.RO 


TRAP 


14 


MOV 


OPORT.INIT.ERR.CSP) 


MOV 


01, (SP) 


MOV 


SP.RO 


TRAP 


14 


TRAP 


44 


CMP 


(SP)».(SP)» 


MOV 


vec.addr.ro 


TRAP 


36 


MOV 


0340, (SP) 


MOV 


OOUP* I. SERVICE, -(SP) 


MOV 


VEC.AODR, -(SP) 


MOV 


03, -(SP) 


TRAP 


37 


MOV 


rdrx.ador.ro 


MOV 


2(R0),16(SP) 


MOV 


01, Rl 


MOV 


R1,2(R0) 


JSR 


PCSET.CNTLR.CHAR 


ROR 


RO 


BCC 


5$ 


JSR 


PC, DECODE 



SEQ 0084 
VAX-11 Bliss-16 V4. 0-579 Page 12 

DISK SUSER2 1 [ YOUNG . FMT 1ZRQB3 . B16 ; 15 C 7 ) 

; 1703 

I 1704 



1711 
1713 
1717 

1718 

1720 



i *, RET. STATUS 



; SP,* 



SP.* 



►P.* 



I *,RC* S.REG 
♦.RC*M.RK> 
RCSM.RhG,* 



1726 
1729 



1730 
1728 
1746 



1749 



1750 



1748 
1^61 

1-62 



17*9 



1769 



H7 



ZRQB3 
REV C 

000572 

000276 
000500 
000302 
000306 
000312 
000320 
000322 
000324 
000330 
000332 
000*34 
000340 
000344 
000346 
000350 
000354 
000360 
000366 
000370 
000372 
000374 
000400 
000406 
000412 
000416 
000420 
000424 
000426 
000432 
000436 
000442 
000450 
000452 
000456 
000460 
000462 
000466 
0004 70 

0004 74 
000500 

0005 04 
00^506 
000 12 
000514 
000516 
000520 
000522 
000526 
000532 
000536 
000544 
000546 



PATCH 

004737 
006000 
103002 
004 737 
013700 
032760 
001401 
104444 
004 737 
006000 
103002 
004737 
004737 
006000 
103002 
004737 
013700 
032 760 
001002 
104444 
000405 
013700 
016037 
005037 
012701 
060601 
005737 
001065 
005066 
005061 
005266 
026627 
101770 
004737 
006000 
103002 
004737 
005000 
0050t>0 
062700 
02002 7 
101771 
"H5700 
U00300 
106000 
006000 
006000 
142700 
016000 
105060 
123 727 
101005 
012716 



RORX DISK FORMAT TER 
FORMATTER SECTION 1 

OOOOOOG 



OOOOOOG 
OOOOOOG 
004000 000022 



5~Mor-1984 14:48:56 
5~Mar-1964 14:39:51 



OOOOOOG 



OOOOOOG 
OOOOOOG 



OOOOOOG 
OOOOOOG 
004000 000022 



OOOOOOG 

000024 OOOOOOG 

000002' 

000020 

000002' 

000020 

OOOOOOG 

000020 

000020 000057 

OOOOOOG 



OOOOOOG 

OOOOOOG 

000002 

000110 

OOOOOOG 



oooo ? 7 

000020G 
1777 76G 
OOOOOOG 000010 

000002* 



5$: 


JSR 


PC, GET, DUST, STATUS 




ROR 


RO 




BCC 


6$ 




JSR 


PC, DECODE 


6$: 


MOV 


RET.CN$AD,RO 




BIT 


$4000,22CR0) 




BEQ 


7$ 




TRAP 


44 


7$: 


JSR 


PC.EX.LOC.PROG 




ROR 


RO 




BCC 


8$ 




JSR 


PC, DECODE 


8$: 


JSR 


PC, GET. DUST, STATUS 




ROR 


RO 




BCC 


9$ 




JSR 


PC, DECODE 


9$: 


MOV 


RET.EN$AD,RO 




BIT 


44000, 22CR0) 




BNE 


10$ 




TRAP 


44 




BR 


11$ 


10$: 


MOV 


R£T.EN$AD,R0 




MOV 


24(R0),PID.SAVE 


11$: 


CLR 


LOOPC 




MOV 


420, Rl 




ADD 


SP.R1 


12$: 


TST 


LOOPC 




BNE 


1/$ 




CLR 


20CSP) 


13$: 


CLR 


MSGADRCR1) 




INC 


20CSP) 




CMP 


20(SP),O57 




BLOS 


13$ 




JSR 


PCREC.DATA 




ROR 


RO 




BCC 


14$ 




JSR 


PC, DECODE 


14$: 


CLR 


RO 


15$: 


CLR 


SND.BUT(RO) 




ADD 


42, RO 




CMP 


RO.frtlO 




BLOS 


15$ 




MOV 


NSD.SLOT.RO 




SWAB 


RO 




RORB 


RO 




ROR 


RO 




ROR 


RO 




BICB 


$77, RO 




MOV 


ME C .ENVELOPE *20( RO ) , RO 




CLRB 


MSGADR-2CR0) 




CMPB 


UC.VER.nO 




BHJ 


16$ 




MOV 


flLUOPC.CSP) 



SEQ 0085 
VAX-11 Bliss-16 V4, 0-579 Paoe 13 

DISK $USER2 : [ YOUNG . FMT 1 ZRQB3 . B16 j 15 C 7 ) 

J 1808 



1814 



I.* 



J I 

I I 

{ I.* 

{ 



I 

♦ (I) 

♦.I 

I.* 



1816 
1829 



1840 



1846 

1848 
1846 

1855 

1864 
1867 

1866 
1867 



1897 



190 ? 



1*09 



I / 



ZRUB 7 




RDRX DISK FORMATTER 






5-Mor--19 


rev : - D 


atch o 


FORMATTER SECTION 1 






5-Mar-19 


00G'i52 


004737 


000000V 




JSR 


PC.REV8 


000? Sf. 


000720 






BR 


12$ 


000S60 


012716 


000000' 


16$: 


MOV 


ORETRIES.(SP) 


C ■'^64 


012746 


000002' 




MOV 


M..OOPC, ~(SP) 


00C *70 


004737 


000000V 




JSR 


PC.REV9 


00(V;»74 


005726 






TST 


(SP)* 


OOC :»?6 


000710 






BR 


12$ 


000600 


017 766 


OOOOOOG 000022 


17$: 


MOV 


SRDRX.ADDR,22(SP) 


000606 


012700 


177777 




MOV 


0-1, RO 


00061? 


010077 


OOOOOOG 




MOV 


RO,S)RDRX,ADDR 


000616 


023727 


000002' 000001 




CMP 


LOOPC.tfl 


000624 


001002 






BNE 


18$ 


000626 


104463 






TRAP 


63 


000630 


0004 CI 






BR 


19$ 


00063? 


104444 




18$: 


TRAP 


44 


000634 


062706 


000024 


19$: 


ADD 


424, SP 


000640 


012601 






MOV 


(SPV.R1 


000642 


00020 7 






RTS 


PC 



„ . SEQ 0086 

VAX-11 Blfss-16 V4. 0-579 Page 14 

DISK$USER2:[ YOUNG. FMT]ZRQB3.B16j 15 (7) 



1910 



i *,RC$S.REG 
l ♦,RC$M.REG 
; RC$M.REG,* 



1866 
1913 



1914 

191 c . 

1913 

1665 



Routine Size: 
Maximum stock 



210 words. Routine Base: $CODE$ *• 0000 
depth per invocation: 13 words 



000000 
000000 
000004 
000006 
000010 
000012 



004/37 000000' 

104466 
006000 
103773 
00020 7 



.SBTTL Tl FORMATTER SECTION 1 



$T1 



Tl:: 






1$: 


JSR 
TRAP 


PC 
66 




ROR 


RO 




BLO 


1$ 




RTS 


PC 



1920 



: Routine Size: 6 words, Routine Base: $COOE$ * 0644 
: Maximum stack depth per invocation: 2 words 



1922 


1 


1923 


1 


1924 


2 


1925 


2 


1926 


r 


192 7 


2 


1928 


2 


1929 


3 


1930 


3 


1931 


3 


1932 


3 


1933 


3 


1934 




1935 


3 


1936 


3 


1937 


5 



routine REV8 (endflg) : novalue " 
beg i n 

selectoneu ,REC BUT (MSG TYP] of 
set 



[1] 



begin 



! Select tne appropriate action 



•Question message type 



! LooW into the send/receive data buffer at the message 
! number field and see what question the remote program 
! is asking. Use the fields value to 'tn^\ Into the 
! select expression to perform the appropriate action. 



selectoneu .REC^BUF [MSG_NUM] of 



{Select the requested question 



J 7 



JRQB5 




RF.V C PATCH 


; 1958 


5 


; 1959 


5 


{ 1940 


5 


; 1941 


4 


j 1942 


5 


j 194? 


4 


1944 


4 


; 1945 


5 


; 1946 


3 


5 194 7 


3 


1948 


4 


j 1949 


4 


; 1950 


5 


; 1951 


5 


; 1952 


5 


; 1955 


6 


j 1954 


6 


; 1955 


6 


1956 


-» 


; 1957 


7 


; 1958 


/ 


; 1959 


8 


i 1^60 


8 


; 1961 


8 


5 196? 


8 


; 1965 


7 


; 1964 


6 


: 1965 


5 


j 1966 


5 


196? 


4 


j 1968 


4 


; 1969 


4 


; 1970 


3 


j 1971 


3 


; 197? 


3 


; 1973 


4 


; 1974 


5 


; 19^5 


4 


; 19?6 


4 


; 197 7 


3 


; 1978 


3 


; 1979 


3 


; 1980 


4 


: 1981 


5 


: 198,' 


4 


; 1985 


4 


; 1984 


3 


; 1985 


3 


; 1986 


'; 


j 19tt/ 


4 


; 1988 


4 


; 1989 


4 


j 1990 


3 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 

set 

[0] 



[1] 



[2) 



(3) 



5 -Mar- 1984 14:48:56 
5-Mar-1984 14;39;51 



VAX -11 Bliss 16 V4 .0-5/9 

DISK $USER2j[rOUNG.FMT]ZRQB3. 316; 



SEQ 008/ 
Page 15 
15 C 7 ) 



: ! Enter unit number to format 

begin 

If (MANUAL) then GMANID (UNIT* MSG, SND BUF , 0, *o' 3' # 0, 3, NO) 

else SND_BUF - , SW UNIT NO; 

if SEND_DATA (SNDB ..COUNT) then DECODE ()j 

end} 

: l Choose one of the responses 

begin 

if (MANUAL) then 
begin 

SND .BUF ■ Oj 

GMANIl. (EXIST* MSG. SND BUF, * ' 1' , rES, 1); 
if ( .SND,BUF<6, 1, 0> NEQU 1) 
then begin 

GMANIL (D0WN$ MSG, SND BUF. #o'2', YfcS. 1); 
if ( ,SND_BUF'<1, 1, 0> NEQU 1) 
then begin 

GMANIL (INACC*_MSG, SND BUF, #o*4', tES, 1)j 
if ( .SND„BUF<2, 1, 0> NEQU 1) 
then begin 

SND BUF<0, 1, 0> > 1; 

PRINTB(DFlT$_MSG); 

end} 



end 

else 



SND ..BUF * .SW„M0DE; 



If SEND^DATA (SNDB_COUNT) then DECODE ()j 
end; 

: ! Enter an eight character nonzero asc > I serial number 

begin !(Any eight characters will do) 

if (MANUAL) then GMANID (SERIALS MSG, SND BUF, A, Ko' 177777' , 8, 8, NO) 

else copy (OFF SFRIAL, SND BUF', 8>j 
if SEND^OATA (SNDB^COUNT) then DECODE C)j 
end; 

: !Enter current date MM DD * 1 * - eKact format required 

begin '(Actually, any si*, characters will do) 

if (MANUAL) then GMANID (DATES MSG. SND BUF, A, #o'l77777', 8, 8, NO) 

else copy (Dr> DA It, SND BUF, 8); 

if SEND. DATA (SNDB COUNT) then DECODE ()| 

end; 



[otherwise] : 
begin 

RET STATU., = UMN CODE; 

DFCOOF ( ); 

end; 



IThis message number » * • unknown 

•Unknown message number error code 
{Report error and die 



\/ 



K/ 



ZRQ83 




REV C PATCH 


i 1991 


3 


; 1992 


3 


; 199? 


2 


[ 1994 




: 1995 




5 1996 


3 


; 1^9 7 


3 


; 19^8 


3 


; 1999 


3 


; 2000 


3 


j 2001 


4 


; ?00.^ 


4 


t 2003 


4 


; 2004 


? 


2 2005 


3 


; 2006 


3 


; 200 7 


2 


; 2008 


T 


5 2009 


2 


; 2010 


3 


j 2011 


3 


; 2012 


3 


; 2013 


3 


; 2014 


3 


; 2015 


3 


; 2016 


4 


j 201? 


4 


; 2018 


3 


; 2019 


? 


; 2020 


3 


; 2021 


4 


; 2022 


4 


; 2023 


4 


j 2024 


3 


; 2025 


3 


2026 


3 


; 202 7 


2 


; 2028 


2 


2029 


2 


; 2030 


3 


; 2031 


3 


; 2032 


3 


; 2033 


ti 


: 2034 


2 


; 2035 


2 


; 2036 


3 


; 2037 


3 


; 2038 


* 


j 2039 


3 


; 204 


t. 


i 204 1 


i. 


; 2042 


c 


I 204 3 


3 







RDRX DISK FORMATTER 
FORMATTER SECTION 1 



tes; 



end} 

[21 : 

begin 



selectoneu .REC„BUF [MSG NUM) of 
set 

[otherwise] : 
begin 

RET_STATUS « UMN_C0Dt; 



tes; 



DECODE ( ); 
end; 



end: 

[3] : 

begin 



selectoneu .REC,BUF [MSG_NUM] of 
set 

[0, 9] : 
begin 

PRINTB (FMT1, MSGADR); 
end; 

[otherwise] : 

begin 

RET STATUS "• UMN CODE; 

DECODE (); 

end; 
tes; 

end; 



[4) : 

beg i n 



end; 

[5] : 

begin 



#NT 



SEQ 0088 
5 Mar- 1984 14:48:56 VAX-11 Bliss 16 V4.0-579 Page 16 

5*Mar-1984 14:39:51 DISK$USER2: [ YQUNG.FMT 1ZRQB3.B16; 15 (7) 



{Default Question 



! Th i s message number is unknown 

! Unknown message number error code 
! Report error and d*e 



•Informational message 



.'Format begun plus my debug msg 



.•This message number Is unknown 

•Unknown message number error code 
.'Report error and die 



•Termination message 



PRINTB (FMT4, . RCC_BUF[MSG .NUM ] ) ; 



! Fatal error message 



end; 
begin 



PRINTB (,FMT_ERR I .REC .BUF [ MSG..NUM] - l])j 
.endflg - 2; 



•Special message type 



I / 



2RQB3 

REV C PATCH 



2044 
2045 

2046 

204 7 
2048 
2049 
2050 
2051 
2052 
2053 
2054 
2055 
2056 

205 7 
2058 
2059 
2060 
2061 
2062 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 



5-Mar 1984 14:48:56 
5~Mar-1984 14:39:51 



5EQ 0089 
VAX-11 01iss-16 V4. 0-579 Pag© 1/ 

DISK $USER2:[ YOUNG ,FMT)ZRQB3.B16; 15 (7) 



end; 



selectu .REC BUF [MSG NUM] of 
set 
(always) : 

beoin 

RET..STATUS - UMN CODE; 

DECODE (); 

ends 
tes; 

end: 

[otherwise] ; 

begin 

RET .STATUS = UMT„C0DE; 

DECODE (); 

end; 
tes; 



IThts message number is unknown 

J Unknown message number error code 
.'Report error and die 



000000 00413 7 00000OG 

000004 013701 OOOOOOG 

000010 006201 

C00012 006201 

000014 006201 

OOOOlb 006201 

000020 000301 

000022 042701 177760 

000026 020127 000001 

000032 001171 

000034 013702 OOOOOOG 

000040 042702 170000 

000044 001017 

000046 104450 

000050 103011 

000052 104443 

000054 000406 

000056 OOOOOOG 

000060 00004^ 

000062 OOOOOOG 

0000* " 000003 

OOr 066 000000 

00)070 000003 

0'0072 00046 7 

000074 013/37 OOOOOOG OOOOOOG 

000102 000463 

000104 02022/ 000001 

000110 001070 

000112 104450 

000114 10 5053 

000116 005037 OOOOOOG 





.SBTTL 


REVS FORMATTER SECTION 


REV8: 


JSR 


R1.5SAVE2 




MOV 


RFC. BUF, Rl 




ASR 


Rl 




ASR 


Rl 




ASR 


Rl 




ASR 


Rl 




SWAB 


Rl 




BIC 


♦177760.R1 




CMP 


R1.01 




BNE 


10$ 




MOV 


REC.BUF.Ri? 




BIC 


41 70000, R2 




BNE 


2$ 




TRAP 


50 




BHIS 


1$ 




TRAP 


43 




.WORD 


406 




, WORD 


SND.BUF 




.WORD 


42 




.WORD 


UNI T$. MSG 




.WORD 


S 




.WORD 







.WORD 


* 




bR 


4$ 


1$: 


MOV 


5W. UN IT, NO, SND.BUF 




BR 


4$ 


2$; 


CMP 


R2,ftl 




BNL 


M 




TRAP 


50 




Burs 


M 




CLR 


SND.BUF 



1^23 

1925 



1928 

193 7 

1940 
1942 



1^4 3 
1)44 

1^4 ' 

l«->49 
1^51 



KA 



M7 



ZRQB3 

RF.V C PATCH 







RDRX DISK FORMATTER 
FORMATTER SECTION 1 



000122 
000124 
000126 
000130 
000132 
000134 
000136 
000144 
000146 
000150 
000152 
000154 
000156 
000160 
000162 
000170 
000172 
000174 
000176 
000200 
000202 
000204 
000206 
000214 
000216 
000224 
000230 
000234 
000236 
000240 
000242 
000244 
000252 
000256 
000262 
0002o4 
000266 
000270 
000272 
000276 
000300 
000302 
000304 
000306 
000310 
000312 
000314 
000316 
000320 
000322 
000 324 
000326 
000332 



104443 

000404 

OOOOOOG 

000130 

OOOOOOG 

000001 

032737 

001042 

104443 

000404 

OOOOOOG 

000130 

OOOOOOG 

000002 

032737 

001030 

104443 

000404 

OOOOOOG 

000130 

OOOOOOG 

000004 

032737 

001016 

152737 

012746 

012746 

010600 

104414 

022626 

000403 

013737 

012/46 

004737 

005726 

006000 

103164 

000561 

02022/ 

001016 

104450 

103011 

104443 

000406 

OOOOOOG 

000142 

OOOCOOG 

1777 77 

000010 

000010 

000/52 

012/46 

000420 



000001 OOOOOOG 



000002 OOOOOOG 



000004 OOOOOOG 

000001 OOOOOOG 

OOOOOOG 

000001 



OOOOOOG OOOOOOG 

000020 

OOOOOOG 



3$ 
4$ 



000002 



5$ 



5 -Ma* -1984 14:48:56 
5-Mar-l984 14:39:51 



OOOOOOG 



6$ 



TRAP 


43 


.WORD 


40' 


.WORD 


SN3.BUF 


.WORD 


13) 


.WORD 


EXIST*. MSG 


.WORD 


1 


BIT 


#1. SND.BUF 


BNE 


4$ 


TRAP 


43 


.WORD 


404 


.WORD 


SND.BUF 


.WORD 


130 


.WORD 


DOWN*. MSG 


.WORD 


2 


BCT 


02, SND.BUF 


BNE 


4$ 


TRAP 


43 


.WORD 


404 


.WORD 


SND.BUF 


.WORD 


130 


.WORD 


INACCJ.MSG 


.WORD 


4 


BIT 


04, SND.BUF 


BNE 


4$ 


B1SB 


#1, SND.BUF 


MOV 


$DFLT$.MSG - 


MOV 


♦1,-CSP) 


MOV 


SP,RO 


TRAP 


14 


CMP 


CSP)»,(SP)» 


BR 


4$ 


MOV 


SW . MODE , SND . 


MOV 


020. -CSP) 


vJSR 


^C, SEND, DATA 


TST 


CSP)* 


ROR 


RO 


BCC 


19$ 


BR 


18$ 


CMP 


R2,#2 


BNE 


7$ 


TRAP 


50 


BHIS 


b$ 


TRAP 


43 


.WORD 


406 


.WORD 


SND.BUF 


.WORD 


142 


.WORD 


SERIALS, MSG 


.WORD 


1 


.WORD 


10 


.WORD 


10 


BR 


4$ 


MOV 


ffDEF. SERIAL, 


BR 


9$ 



SEQ 0090 
VAX -11 Bliss-16 V4. 0-579 Page 18 

DISK$USER2: [ YOUNG. FMT1ZRQB3.B16; 15 (7) 

J 1952 



1953 
1955 



1956 
1958 



-CSP) 



: SP.+ 



BUF 



1959 

1961 

1962 



I960 
1949 
196 7 
1969 



19-' 2 
1974 



CSP) 



l^.'S 



K I / 



N/ 



ZRQB3 

RRV C PATCH 



000354 
000340 
000342 
000344 
000346 
000350 
00035c? 
000354 
000356 
000360 
00036? 
000364 
000366 
000370 
000374 
000400 
000404 
000410 
000414 
000416 
00042.? 
000424 
000430 
0004 32 
0004 56 
000442 
000444 
000450 
000452 
000456 
000462 
000466 
0004 70 
0C04 /2 

0004 74 
000500 
000502 
000510 
000514 
000520 
000524 
000530 
000532 
000534 
000540 
000542 
000546 

)00550 
J00554 
000560 
000562 
000566 

0005 72 



020227 

0C1126 

104450 

103011 

104443 

000406 

000000G 

000142 

OOOOOOG 

177777 

000010 

000010 

000731 

012746 

012746 

012746 

004737 

062706 

OC0716 

020127 

0014/5 

020127 

001021 

013700 

042700 

001403 

02002 7 

001062 

012746 

012746 

012746 

C10600 

104414 

000420 

020127 

001020 

012776 

013746 

042/16 

012746 

012746 

010600 

104414 

062/06 

00020 7 

020127 

001020 

013700 

042700 

006300 

016046 

012746 

0106C0 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 

000003 



5 -Mar- 1984 14:40:56 
5-Mar-1984 14:39i51 



OOOOOOG 

OOOOOOG 

000010 

OOOOOOG 

000006 

000002 

000003 

OOOOOOG 
1 70000 

000011 

OOOOOOG 
OOOOOOG 
000002 



000004 

000001 
OOOOOOG 

170000 

OOOOOOG 

000002 



000006 

000005 

OOOOOOG 
1 70000 

177776G 
000001 



000010 



7$: 


CMP 


R2.43 




BNE 


16$ 




TRAP 


50 




BHIS 


8$ 




TRAP 


43 




.WORD 


406 




.WORD 


SND.BUF 




.UORD 


142 




.WORD 


DATE$,MSG 




.WORD 


•1 




.WORD 


10 




.WORD 


10 




BR 


4$ 


8$: 


MOV 


4DEF,DA T F., ~(?P) 


9$: 


MOV 


4SND.BUF, -(SP) 




MOV 


410, -(SP) 




JSR 


PC, COPY 




AOO 


46, SP 




BR 


4$ 


10$: 


CMC 


R1.42 




BCQ 


16$ 




CMP 


Rl,#3 




BNE 


12$ 




MOV 


RtC.8UF.R0 




BIC 


4170000.ro 




BEQ 


11$ 




CMP 


RO.Oll 




BNE 


16$ 


11$: 


MOV 


4MSGADR, (SP) 




MOV 


0FMT1, (SP, 




MOV 


42 . - C SP ) 




MOV 


SP.RO 




TRAP 


14 




BR 


13$ 


12$: 


CMP 


R1.04 




BNE 


14$ 




MOV 


n.aio(SP) 




MOV 


REC.BUF, (SP) 




BIC 


4170000. (SP) 




MOV 


4FMT4, (SP) 




MOV 


42 , - ( SP ) 




MOV 


SP.RO 




TRAP 


14 


13$: 


ADD 


46 , SP 




RTS 


PC 


14$; 


CMP 


Rl.05 




BNE 


15$ 




MOV 


REC.BU ,R0 




BIC 


01 70000.RO 




ASt. 


RO 




MOV 


FMT.ERR 2(R0),-(SP 




MOV 


41. (SP) 




MOV 


SP.RO 



SEQ 0091 
VAX-11 Bliss-16 V4. 0-579 Page 19 

DISK $USER2 s [ YOUNG , FMT ] ZRQB3 . B16 j 15 ( 7 ) 

: 19/9 

} 1981 



; SP.^ 



j ♦.fcNUFLG 



I SP,* 



1982 



1983 
1995 

2002 
2009 

2012 

2015 

2017 



2016 
2029 

2031 



^050 
1^25 
2035 

2038 



1 SP,* 



m 



7RQ83 




RDRX DISK KORMATTER 


REV C PATCH 


FORMATTER SECTION 1 


000574 


104414 






00057$ 


012776 


000002 


000014 


000604 


022626 






000606 


000207 






000610 


020127 


000006 




000614 


001004 






000616 


012737 


004001 


0000000 


000624 


000403 






000626 


012737 


001001 


OOOOOOG 


000654 


004 73 7 


OOOOOOG 




000640 


000207 







Rout !ne S ! ^e : 
Mas ! mum stack 



15$ 
161 

171 
181 

19$ 



209 words. Routine Base: 
depth per invocation* 8 words 



S -Mar- 1984 

5 -Mar < 1984 

TRAP 14 

MOV *2,814(SP) 

CMP ( SP ) . , r SP ) * 

RTS PC 

CMP R1.06 

BNE 17$ 

MOV 04001, RET, STATUS 

BR 18$ 

MCV 01001. RET, STATUS 

JSR PC, DECODE 

RTS PC 

ICODES • 0660 



SEQ 0092 
14|46{56 VAX-11 Bliss 16 V4. 0-579 Pooe 20 

14 i 39 J 51 DISK $use-:R2![ YOUNG, FMT1ZR0B3 .816} 15 ( /) 



♦ .KNDr'LG 



20 59 
20 36 
1925 

2042 



2049 
2050 
2058 
2059 
1923 



;:o63 

2064 
2065 
2066 
206 7 
2068 
2069 
20 70 
20 7 I 
20 V 
2075 
£0'4 
2)75 
20 76 
20 7 7 
20 78 
20 79 
20*0 
2081 
2082 
2083 
2084 
2085 
2086 
208/ 
2088 
2089 
2090 
2091 
2092 
209 1 
2094 
2095 
2096 
209 7 
2098 
2099 



routine REV9 (retrys, endflg) ; novalue * 

begin 

local 

cptr, 

cnumj 

selectoneu , PEC. BUT [MSG.TYP] of 
set 

begin 



ISelect the appropriate action 



! Quest ion message type 



LooV into the send^receive data buffer at the message 
number field and see what question the remote program 
is asking. Use the fields value to inde*> Into the 
select expression to perform the appropriate action, 

solectoneu .RFC.BUf' (MSG_NuM) of ! Select the requested auention 
set 



[0) : 

begin 



•Enter current date <MM DD • H i f * 



! If in un attended reformat mode then give to the DM th# 
! date received from the init co6^ elae let the DM prompt 
J the operator for the date. 



if (MANUAL ) 

then 



!ln the host running In unattended mode 



*!s« 



begin 

GMANID IMSGAUR, SND.BUr, A, *o' 177777' . 6. 10, NU ) i 
pnd 



begin 



ZRQB3 




RKV C PAICH 


t 5100 


s 


j .uoi 


5 


i 5105 


b 


; 5105 


b 


: 5104 


b 


; 5105 


6 


s .no<s 


b 


J 510.' 


6 


; 5ioa 


6 


; 51C9 


b 


; 5110 


6 


; 5111 


6 


i 5115 


5 


; 5113 


5 


t 5114 


5 


; 5115 


4 


5116 


4 


5 5117 


4 


; 5118 


4 


; 5119 


4 


i 5150 


4 


; 5151 


3 


; 5155 


3 


! 5153 


3 


J 5154 


4 


: 5155 


4 


; 5156 


4 


515? 


4 


; 5158 


3 


; 5159 


3 


s 5130 


3 


; 5151 


4 


; 5135 


4 


i 5133 


4 


; 5134 


4 


; 5135 


5 


; 5136 


3 


: 513? 


3 


{ 5138 


A 


; 5139 


4 


; 5140 


5 


; 5141 


5 


; 5145 


5 


; 5143 


5 


; 5144 


5 


; 5145 


5 


; 5146 


5 


J 514/ 


b 


; 5148 


6 


; 5149 


fc 


; 5150 


5 


; 51M 


5 


j 215* 


6 



Ctt 

RDRx DISK K1RNATUH 5 Mar 1984 I4j48;56 VAX-ll BLi««-l6 V4. 0-579 * iF '°p222 5 ?1 

KORMAtTt.R SECTION 1 5 -Mar -1984 14:39j51 DISKIUSER5 : [ rp.UNG.FMT )ZRQB3,B16j 15 (7) 

if ..ratrys .'Did DM not verify the date the last time 

then 

begin 
i 

Clear out the date text buffer befor* loading in 
date and ask the operator for the date again. 

incr i from to li do 

SND.BUf [ , i] ■ ZEROS; 

GMANID (DATMSG, 5ND.BUF, A, *o' 177777' , 8, 10, NO); .'Get date from operator 
end i 

.retry* - ONE j JSet the retry flog 

endi 

PRINTB (CRLF), 

If SENO.DATA (SNOB. COUNT) then DECODE ()* 

end j 

(5) : ! get cylinder number 

begin 

GMANID (MSGADR. SNO_BUF, 0, *o' 177777'. 0. 999, NO)i 

btodC.SNO BUT, SNO_BUF)j 
if SENO.DATA (SNDB.COUNT) then DECODE: ()i 
end j 

[31: 
begin 

GMANID (MSGADR, SND.BUF, D, #o't/7/V, 0, 11700, NO ) j 

btod(.SNO_BUF, SNO.BUF), 
If SENO_DATA CSNOB_COUNT) then DECODE. C)j 
end j 

(7] : Jfcnter a non .zero aerial number 

begin 

cnum • SNOB .COUNT i 
If (MANUAL) 
then begin 

GMANID (MSGADR, SND BU* , A # #o'i//77/', 1, 64, NO ) i 

PRINTB (CRU U 

cptr • CHIPTR (SND. BUT), 

cnum • Oj {start at 5 to Include message type and number 

while .CHSPTR( .cptr )<0, fl> nequ 
do begin 

cnum ■ , cnum ♦ lj 

Cptr * CHIPLUS ( .Cptr, l)j 
endj 

I f , cnum AND 1 neo 
then begin 



08 



ZRQB3 




REV C PATCH 


; £153 


6 


i 2154 


6 


; 2155 


5 


2156 


5 


; 2157 


4 


; 2158 


4 


; 2159 


4 


2160 


3 


; 2161 


3 


; 21*2 


3 


; 21c? 


4 


; 2164 


4 


; 2165 


4 


; 216o 


3 


; 2it>: 


3 


2168 


3 


; 2169 


2 


; 2U0 


2 


; 2171 


2 


; 2172 


3 


; 217? 


3 


; 2174 


3 


; 2175 


3 


; 2176 


3 


; 2177 


3 


; 2178 


4 


; 2179 


4 


i 2180 


4 


; 2181 


4 


: 218? 


4 


; 2187 


4 


; 2184 


4 


; 2185 


5 


; 2186 


4 


; 2187 


5 


; 2188 


5 


j 2189 


5 


; 2190 


4 


; 2191 


5 


; 2192 


5 


j 2195 


5 


; 2194 


4 


; 2195 


4 


; 2196 


4 


; 2197 


4 


; 2198 


4 


; 2199 


4 


2200 


4 


I 2201 


4 


; 2202 


3 


; 2205 


3 


; 2204 


3 


j 2205 


4 







RDRX DISK KORMPTVfcR 
FORMATTER SECTION 1 



5-Mor-1964 14*48:56 
5-Mnr>-1984 14*39:51 

CHIPTR (.cptr)<0, 8> » *C ,'j 
cnum ■ ,cnum ♦ lj 

end j 

end 

else copy (DEF..SERIAL, SND. BUT, 8)i 

if SEND„DATA (,cnum) then DECODE ()» 



VA.X-11 Bliss -16 V4, 0-579 

DISK IUSER2 j [ YOUNG , FMT ) ZRQB3 .816 



SEQ 0094 
Page 22 
|15 (7) 



endj 

[otherwise] : 

begin 

RET_STATUS - UMN.LOOEj 

DECODE ( )i 

endj 
tesj 



•This message number is unknown 

» Unknown message number error code 
{Report error and die 



endj 

[21 : 

begin 



•Default Question 



selectoneu .REC.BUT [MSG.NUM] of 
set 

m : 

begin 



,'Enter unit number to format <0> 



r ■» 

l c. 



begin 



If In un-attended reformat mode then give to the OH the 
unit number obtained from the hardware P. Table else let 
the DM prompt the operator for the unit to format. 

If (MANUAL.) * Is the ho9t running in unattended mode 
then 

begin 

GMANID (MSGADR. SND_BUf» D, *o* 177777' , 0, 15, YES)s 

end 
else 

begin 

SND.BUF • .UNIT N0{ 

PRINTS CFMT2, .UNIT_N0)| IReport which unit «s being formatted 

end; 

PRINTB CCRLDi 

if .SNO.B'Jf gequ 10 then SND .BU* - , SND BUT - 10 » *ascM*10' 
else SND ..BUF' • .SND ..BUf ♦ rfc'O'j 

if SEND ..DATA (SNDB.COUNf) then DECODE ()j 

end j 

!get head number C CR to signal end) 



7RQB3 




REV C PATCH 


; 2206 


4 


I 2207 


4 


l 2208 


4 


i 2209 


5 


2210 


5 


; 2211 


5 


; 2212 


4 


2215 


4 


: 2214 


3 


5 2215 


3 


; 2216 


3 


; 2217 


4 


; 2218 


4 


; 2219 


4 


; 2220 


4 


; 2221 


4 


; 2222 


4 


; 2223 


4 


; 2224 


5 


; 2225 


4 


; 2226 


5 


; 222 7 


5 


; 2228 


5 


j 2229 


5 


; 2230 


4 


; 2231 


5 


; 2232 


5 


; 2233 


4 


; 2234 


4 


2235 


4 


; 2236 


4 


; 223? 


4 


j 2238 


4 


; 2239 


3 


I 2240 


3 


j 2241 


3 


; 2242 


4 


; 2243 


4 


2244 


5 


; 2245 


4 


; 2246 


5 


224 7 


5 


; 2248 


5 


; 2249 


5 


; 2250 


4 


; 2251 


5 


; 2252 


r 
J 


; 2253 


4 


; 2254 


4 


; 2?I>5 


a 


; 2256 


A 


j 22S/ 


3 


; 2258 


3 



F8 

RDRX DISK FORMATTER 5-Mar-1984 14-46:56 VAX-ll Bliss-16 V4, 0-5/9 ^Pao^ 23 

FORMATTER SECTION 1 5~Mar-1984 14}39«51 DISKIUSER2: [ YOUNG. FMT 1ZRQB3 . B16 ; i5 (7) 

5ND.BUF -10} ! default says finished 

cnum • Oj fset for default answer 

GMANID CMSGADR, SNO BUF , 0. *o' 177777' , 0, 10, YES); 
if »SND„BUF lequ 9 then begin loops - not default 

btod(.SND,BUF, SND_BUF)j 

cnum * 2 i 

if SEN0_DATA (.cnum) then DECODE C)j 
end; 

[4] ; !Use existing bad block information <N> 

begin 

i 

! If in un- at tended reformat mode then tell the DM to 
I do a reformat mode else let the DM prompt the operator 

! for the formatting mode to use for this unit. 

t 

if (MANUAL) ! Is the host running in unattended mode 

then 

begin 

GMANIL (MSGADR, 5ND„BUF, *o' l' , YES, 1)} 

SND_BUF • .SND^BUF ♦ *c'Y' - 1} 'host version only cares Y or non-Y, so send N as X 

end 
else 

begin 

SND„BUF - rfc'Y'j {Default to do reformat mode 

ends 



PRINTB (CRLF); 

if SEND..DATA (SNOB. COUNT) then DECODE ()j 

endj 

[5] : !Use down-line load <N> 

begin 

if (MANUAL) J Is the host running in unattended mode 

then 

begin 

GMANIL (MSGADR, bND BUF, * ' 1' . YES, l)i 

SND_BUF * .SND..BUF * Kc'V - It 

else 

begin 

SNO ..BUF - Kc'N'j JDefault not to continue 

end j 

if SENDJ)ATA (*iNDB .COUNT) then DECODE O; 

end; 



F'8 



ZRQB3 




REV C PATCH 


; 2259 


3 


; 2260 


4 


; 2261 


4 


; 2262 


5 


; 226$ 


4 


; 2264 


5 


; 2265 


5 


; 2266 


5 


; 226 7 


5 


; 2263 


4 


i 2269 


5 


; 2270 


5 


i 2271 


4 


; 2272 


4 


2273 


4 


; 2274 


4 


; 2275 


4 


; 2276 


4 


; 2277 


3 


; 2278 


3 


; 2279 


3 


5 2280 


4 


; 2281 


4 


; 2282 


4 


; 2283 


3 


; 2284 


3 


; 2285 


3 


; 2286 


2 


; 2287 


2 


; 2288 


2 


; 2289 


3 


; 2290 


5 


5 2291 


3 


; 2292 


3 


; 2293 


3 


; 2294 


2 


; 2295 


2 


: 2296 


2 


; 229 7 


3 


; 2298 


3 


; 2299 


3 


; 2300 


3 


; 2301 


3 


; 2502 


3 


2303 


2 


: 2304 


2 


; 2305 


2 


; 2306 


3 


; 2307 


3 


; 2308 


3 


; 2309 


3 


; 2310 


3 


; 2511 


3 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 



5~Mar~1984 14:4B;56 
5-Mor-l984 14:39:51 



SEQ 0096 
VAX-11 Bliss-16 V4. 0-579 Page 24 

DISK $USER2 : [ YOUNG . EMT ) ZRQB3 . 16 ; 15 ( 7 ) 



t6] : 

begin 



.'Continue if bod block information is i'naccessable <U> 
\ Is the host running in unattended mode 



if (MANUAL) 
then 

begin 

GMANIL (MSGADR. SND..BUF, *o* 1\ YES, 1); 

SND.BUF * ,SND„BUF ♦ *c'Y» - 1; 

end 
else 

begin 

SNcLBUF ■ #c'N' j !0efault not to continue 

end j 

PRINTS CCRLfOj 

If SEND„DATA (SNDB„C0UNT) then DECODE Oj 

end; 

[otherwise] : !This message number is unknown 

begin 

GMANID (MSGADR, SND..BUF, A, *o' 177777', 1, 64, NO)} 

If SEND.0ATA (SNDB^COUNT) then DECODE (); 

end; 
tes; 



end; 

[3] : 

begin 



end; 

[4] : 

begin 



.♦Informational message 



PRINTB (CRlF)j 

PRINTS (FMT1, MSGADR); 



PRINTB CCRLF); 
PRINTB (FMT1, MSGADR )\ 
.endflg ■ t; 



end; 



[51 : 

begin 



PRINTB (CRLF ); 
PRINTB (FMT1 # MSGADR); 
.endflg * 2; 



{Termination message 



Jmark as normal termination 



.'Fatal error message 



! mark as error 



ZRQB3 

REV C PATCH 



2312 
2313 
2314 
2315 
2316 
2317 
2318 
2319 
2320 
2321 
2322 
2323 
2324 
2325 
2326 
2327 



RORX DISK FORMATTER 
FORMATTER SECTION 1 



[6] 



end} 



begin 



end 5 



RET STATUS 
DECODE ()} 



UMN^ODE; 



end; 



[otherwise] : 

begin 

RET, STATUS 

DECODE (); 

end; 
tes; 



UMT.CODE; 



G8 



B-M3r-1984 14:48:56 
5-f!ar-1984 14:39:51 



! Special message type 



5E Q 0097 
VAX-11 Bltss-16 V4, 0-579 Page 25 

DISKiUSER2; [ YOUNG. FMT1ZRQB3.B16; 15 (7) 



JThis message number Is unknown 

! Unknown message number error code 
JReport error and die 



000000 
000004 
000010 
000012 
000014 
000016 
000020 
000022 
000026 
000032 
000034 
000040 
000044 
000050 
000052 
000054 
000056 
000060 
000062 
000064 
000066 
000070 
000072 
000074 
000076 
000100 
000106 
000110 
000112 
000116 
000122 
000126 
000130 
000132 



004137 

013701 

006201 

006201 

006201 

0C6201 

000301 

042701 

020127 

001402 

000137 

013702 

042702 

001044 

104450 

103011 

104443 

000406 

OOOOOOG 

000142 

OOOOOOG 

177777 

000010 

000012 

000427 

032776 

001420 

005000 

005060 

062 700 

020027 

003771 

104443 

000406 



OOOOOOG 
OOOOOOG 



177760 
000001 

002204' 

OOOOOOG 

170000 



000001 000012 



OOOOOOG 

000002 

000026 





.SBTTL 


REV9 FORMATTER SECTION 


REV9: 


JSR 


R1.JSAVE2 




MOV 


REC.BUF.R1 




ASR 


Rl 




ASR 


Rl 




ASR 


Rl 




ASR 


Rl 




SWA8 


Rl 




BIC 


0177760, Rl 




CMP 


Rl,#l 




BEQ 


1$ 




JMP 


16$ 


15: 


MOV 


HEC.BUF.R2 




BIC 


0170000, R2 




BNE 


6$ 




TRAP 


50 




BHIS 


2$ 




TRAP 


43 




.WORD 


406 




.WORD 


SND.BUF 




.WORD 


142 




.WORD 


MSGADR 




.WORD 


I 




.WORD 


10 




.WORD 


12 




BR 


5$ 


2$: 


BIT 


<u,ai2(SP) 




BEQ 


4$ 




CLR 


RO 


3$: 


CLR 


SND.BUF (RO) 




ADD 


02, RO 




CMP 


R0.O26 




BLE 


31 




TRAP 


4 5 




.WORD 


406 



2064 
2069 



2072 



2081 



2092 
2095 



; ♦.RETRKS 



1 

• ( I ) 
♦.I 
I,* 



2092 
2100 

21 OS 
210^ 

2108 



2111 



H8 



ZRQB3 

REV C PATCH 







000134 
000136 
000140 
000142 
000144 
000146 
000150 
000156 
000162 
000166 
000170 
000172 
000174 
000176 
000200 
000202 
000204 
000206 
000210 
000214 
000220 
000224 
000230 
000234 
000236 
000240 
000242 
000246 
000250 
000252 
000254 
000256 
000260 
000262 
000264 
000266 
0002 70 
000274 
000300 
000304 
000310 
000314 
000316 
000320 
000324 
000326 
000330 
000334 
000336 
000342 
000346 
000350 
000352 



000000G 

000142 

OOOOOOC 

177777 

000010 

000012 

012776 

000137 

020227 

001025 

104443 

000406 

OOOOOOG 

000042 

OOOOOOG 

177777 

000000 

001747 

013746 

012746 

004737 

012716 

004737 

006000 

103430 

000431 

020227 

001030 

104443 

000406 

OOOOOOG 

000042 

OOOOOOG 

177777 

000000 

026664 

013746 

012746 

004/37 

012716 

004737 

006000 

103002 

004737 

022626 

000207 

020227 

001402 

000137 

012701 

104450 

103027 

104443 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 



000001 
0026 14' 
000002 



000012 



OOOOOOG 

OOOOOOG 

000000V 

000020 

OOOOOOG 



000003 



OOOOOOG 

OOOOOOG 

000000V 

000020 

OOOOOOG 



OOOOOOG 



000007 

003036 
000020 



5 -Mar -1984 14; 48: 56 
5-Mar-1984 14:39:51 



SEQ 0098 
VAX -11 Bliss-16 V4. 0-579 Pog« 26 

DISK $USER2:f YOUNG. FMT]ZRQB3,B 16 {15 (7) 





.WORD 


SND.BUF 




.WORD 


142 




.WORD 


DATMSG 




.WORD 


-1 




.WORD 


10 




.WORD 


12 


4$: 


MOV 


<U,B12CSP) 


5$: 


JMP 


29$ 


6$: 


CMP 


R2.42 




BNE 


7$ 




TRAP 


43 




. WORD 


406 




.WORD 


SND.BUF 




.WORD 


42 




.WORD 


MSGADR 




.WORD 


-1 




.WORD 







.WORD 


1747 




MOV 


SND.BUF, -(SP) 




MOV 


OSND.BUF,~(SP) 




JSR 


PC.BTOD 




MOV 


$20, (SP) 




JSR 


PC, SEND. DATA 




ROR 


RO 




BLO 


8$ 




BR 


9$ 


7$: 


CMP 


R2,*3 




BNE 


10$ 




TRAP 


43 




.WORD 


406 




.WORD 


SND.BUF 




. WORD 


42 




.WORD 


MSGADR 




.WORD 


-1 




.WORD 







.WORD 


26664 




MOV 


SND.BUF ', (SP) 




MOV 


OSND.BUF, -(SP) 




JSR 


PC.BTOD 




MOV 


020, CSP) 




JSR 


PC, SEND. DATA 




ROR 


RO 




BCC 


9$ 


8$: 


JSR 


PC.DECODt 


9*: 


CMP 


CSP)*,(SP)» 




RTS 


PC 


10*: 


CMP 


R2.47 




BEQ 


in 




JMP 


365 


11$: 


MOV 


020, Rl 




TRAP 


50 




BHIS 


14$ 




TRAP 


43 



♦.RETRYS 



i *,CNUM 

{ 

J 



2114 
2119 
2123 

2125 



2126 
2127 



2124 
2130 

2152 



2133 
2134 



7151 


.V81 


us 7 


: i <^ 


.7140 



^14J 



I 8 



ZRQB3 

REV C PATCH 



RDRX DISK 
FORMATTER 



KORMAT ItH 
SECTION I 



000354 
000356 
000360 
000362 
000364 
000366 
000370 
00037? 
000376 
000400 
000402 
000404 
000406 
000410 
00041? 
000416 
000420 
000424 
000426 
000430 
000434 
000440 
000444 
000450 
000454 
000456 
000462 
000466 
0004 70 
0004 74 
000500 
000504 
000510 
000512 
000514 
000516 
000520 
000522 
000524 
000526 
000530 
000532 
000534 
000536 
000540 
000546 
000552 
000556 
000562 
000564 
000566 
0005^2 
000600 



000406 

OOOOOOG 

000142 

OOOOOOG 

177777 

000001 

000100 

012700 

005001 

105710 

001403 

005201 

005200 

0007 73 

032701 

001416 

112710 

005201 

000412 

012746 

012746 

012746 

004737 

062706 

010146 

000137 

020127 

001402 

000137 

013702 

042702 

02022 7 

001044 

104450 

103011 

104443 

000406 

OOOOOOG 

000052 

OOOOOOG 

177777 

000000 

000017 

000415 

013737 

013746 

012746 

012746 

010600 

104414 

062706 

023727 

103404 



OOOOOOG 



000001 
000056 



OOOOOOG 

OOOOOOG 

000010 

OOOOOOG 

000006 

002620' 
000002 

002634' 
OOOOOOG 
170000 
000001 



OOOOOOG OOOOOOG 
OOOOOOG 
OOOOOOG 
0C0002 



000006 
OOOOOOG 000012 







5-Mar-t984 14;48:56 






5-Mar-l964 14:39j5l 




.WORD 


406 




.WORD 


SND . BUF 




.WORD 


142 




.WORD 


MSGADR 




.WORD 


-1 




.WORD 


1 




.WORD 


100 




MOV 


OSND.BUF.RO 




CLR 


Rl 


12$: 


TSTB 


(RO) 




BEQ 


13$ 




INC 


Rl 




INC 


RO 




BR 


12$ 


13$: 


BIT 


01, Rl 




BEQ 


15$ 




MOVB 


056, (RO) 




INC 


Rl 




BR 


15$ 


14$: 


MOV 


OOEF. SERIAL, (SP) 




MOV 


OSNO.BUF.-(SP) 




MOV 


010, (SP) 




JSR 


PC, COPY 




ADD 


06, SP 


15$: 


MOV 


Rl.-(SP) 




JMP 


30$ 


lo$: 


CMP 


R1.02 




BEQ 


17$ 




JMP 


31$ 


17$: 


MOV 


REC.BUF.R2 




BIC 


01 70000, R? 




CMP 


R2.01 




BNE 


21$ 




TRAP 


50 




BHIS 


18$ 




TRAP 


43 




.WORD 


40* 




.WORD 


SND. BUF 




.WORD 


52 




.WORD 


MSGADR 




.WORD 


•1 




.WORD 


o 




.WORD 


17 




BR 


19$ 


18$: 


MOV 


UNI. T. NO, SND .BUF 




MOV 


UNIT. NO, -(SP) 




MOV 


OFMT?, (SP) 




MOV 


02, (SP) 




MOV 


SP , RO 




TRAP 


14 




ADD 


06, SP 


19$: 


CMP 


SND. BUF ,ou> 




Bt 


20$ 



SEQ 0099 
VAX-11 BUss-16 V4.0-57Q Pago 27 

DISK $USER2 : [ YOUNG . FMT ]ZRQB3 , B16 ; 15 ( 7 ) 



I *,CPTR 
; CNUM 
l CPTR 

i CNUM 
J CPTR 



{ ♦.CPTR 

j CNUM 

l 



i CNUM,* 



2144 
2145 
2146 

2148 
2149 

2146 
2151 

2153 
2154 
2140 
2157 



2156 
<:171 

21^4 

-> 1 .♦ - 
«.. * 

2185 

2188 



5 SP,» 



21*2 
2193 



21 * 

?! 4 



Jrt 



ZRQB3 
REV C 

000602 
000610 
000612 
000620 
000622 
000626 
000t>30 
000636 
000640 
000642 
000644 
000646 
000650 
000652 
000654 
000656 
000660 
000666 
0006 70 
0006 74 
000 700 
000704 
000710 
000712 
000 714 
000720 
000722 
000724 
000726 
000730 
000 732 
000734 
000 736 
000 740 
000 7 42 
000 744 
000752 
000754 
000 760 
000 762 
000 764 
000766 
000 770 
000/72 
000/74 
000/76 
001000 
001002 
001004 
001010 
001012 
001014 
001016 



PATCH 

1 062 737 
000530 
062737 
000524 
020227 
001032 
012737 
005001 
104443 
000406 
00OOO0G 
000052 
OOOOOOG 
177777 
000000 
000012 
023727 
101272 
013746 
012746 
004737 
012701 
022626 
000660 
020227 
001015 
104450 
103007 
104443 
000404 
OOOOOOG 
000130 
OOOOOOG 
000001 
000433 
012737 
00044 7 
02022 7 
001011 
104450 
103026 
104443 
000404 
OOOOOOG 
000130 
OOOOOOG 
000001 
000413 
020227 
001020 
104450 
103012 
104443 



RDRX DISK 
FORMATTER 



FORMATTER 
SECTION 1 



03004 7 
000060 
000002 
000012 



OOOOOOG 
OOOOOOG 

OOOOOOG 



20$ 
21* 



OOOOOOG 000011 

OOOOOOG 
OOOOOOG 
000000V 
O00OC2 



000004 



22$ 



000131 
000005 



OOOOOOG 



23$ 
24$ 



000006 



25$ 



ADD 

ADD 

8R 

CMP 

BNE 

MUV 

CLR 
TRAP 

.WORD 

.WORD 

.WORD 

.WORD 

.WORD 

.WORD 

.WORD 

CMP 

BHI 

MOV 

MOV 

JSR 

MOv 

CMP 

BR 

CMP 

BNE 

TRAP 

BHIS 

TRAP 

.WORD 

. WORD 

.WORD 

.WORD 

.WORD 

BR 

MOV 

BR 

CMP 

BNF 

TRAP 

BHIS 

TRAP 

.WORD 

.WORD 

.WORD 

.WORD 

.WORD 

BR 

CMP 

BNt: 

TRAP 

BHIS 

TRAP 



5-Mar-19fi4 14:48:56 
5 -Mar -1964 14:39:51 



03004 7, SND. BUF 
29$ 

O60.SN0.BUF 
29$ 
R2.02 
22$ 

012, SND. BUF 
Rl 
43 
406 

SND . BUF 
52 

MSGADR 
-1 

12 

SND. BUF, Oil 
15$ 

SND. BUF, -(SP) 
OSND.BUF, -(SP) 
PC.BTOD 
02. Rl 

(SP)»,(SP)* 
15$ 
R2.04 
24$ 
50 
23$ 
43 
404 

SND. BUF 
130 

MSGADR 
1 

26$ 

0131, SND. BUF 
29$ 
R2 , 05 
25$ 
50 
27$ 
43 
404 

SND . BUF 
130 

MSGADR 
1 

26$ 
R2.06 
26$ 
50 
27$ 
43 



SEQ 0100 
VAX-U Bliss- 16 V4. 0-579 p ag « 26 

DlSK$USER2:[rOUNG,FMT]ZRQB3.B16 5 15 (7) 



2198 
2200 
2204 



CNUM 



; *.CNUM 



2206 
220 7 

2208 



2209 
2210 



2211 
2209 
2213 
2216 

2224 

2227 



2232 

223 7 

224 1 



2244 

224 "" 



224 3 
22 k. 1 



j • « •» 



1/ 



(3 



ZRQB3 
REV C 

001020 

001022 
001024 
001026 
001030 
001032 
001040 
001042 
001050 
001052 
001054 
001056 
001060 
001062 
001064 
001066 
001070 
001072 
001076 
001102 
001104 
001106 
001110 
001112 
001116 
001120 
001124 
001130 
001132 
001134 
001140 
001144 
001150 
001152 
001154 
001156 
001162 
001164 
001170 
001174 
001176 
001200 
001204 
001210 
001214 
001216 
001220 
001226 
001230 
001234 
001236 
CO 124 2 
001246 



PA T CH 

000404 

OOOOOOG 

000130 

OOOOOOG 

000001 

06273 7 

000414 

012737 

000410 

10444 3 

000406 

OOOOOOG 

000142 

OOOOOOG 

177777 

000001 

OOOIOO 

012746 

004737 

005726 

006000 

103113 

000510 

020127 

001017 

012746 

012746 

010600 

104414 

012716 

012746 

012746 

010600 

104414 

000451 

020127 

001022 

012746 

012/46 

010600 

104414 

012716 

012746 

012/46 

010600 

104414 

012776 

000424 

02012/ 
001024 
012746 
012746 
010600 



RORX DISK FORMATTER 
FORMATTER SECTION 1 



000130 OOOOOOG 
000116 OOOOOOG 



000020 
OOOOOOG 



000003 

OOOOOOG 
000001 



OOOOOOG 
OOOOOOG 
000002 



000004 

OOOOOOG 
000001 



OOOOOOG 
OOOOOOG 
000002 



000001 

000005 

OOOOOOG 
000001 



29$ 
30$ 



31$ 



000020 



5 -Mar -1084 14:43:56 
5-Mar-1984 14:39:51 



SFQ 0101 
VAX-11 Bliss -16 V4, 0-579 Page 29 

D I SK $ USER2 : [ YOUNG . FMT } ZRQB3 , B 16 ; 15 C 7 ) 



.WORD 404 

.WORD SND.BUF 

.WORD 130 

.WORD MSGHDR 

.WORD 1 

r?6$: ADD #130, SND.BUF 

BR 29$ 

27$: MOV 01 16 .SND.BUF 

BR 29$ 

28$: TRAP 4 3 

.WORD 406 

.WORD SND.BUF 

.WORD 142 

.WORD MSGADR 

. WORD - 1 

. WORD 1 

.WORD 100 

MOV 020, -(SP) 

JSR PC, SEND. DATA 

TST CSP)f 

ROR RO 

BCC 39$ 

BR 38$ 

CMP R1.03 

BNF 32$ 

MOV OCRLF.-(SP) 

MOV 01, -(SP) 

MOV SP.RO 

TRAP 14 

MOV 0MSGADR.CSP) 

MOV 0FMU, (SP) 

MOV 02, -(SP) 

MOV 5P,R0 

TRAP 14 

BR 34$ 

32$: CMP R1.04 

BNF. 33$ 

MOV #CRLF.-(SP) 

MOV 01, -(SP) 

MOV SP.RO 

TRAP 14 

MOV 0MSGADR.CSP) 

MOV 0FMT1, (SP) 

MOV 02,-CSP) 

MOV SP.RO 

TRAP 14 

MOV 01,32O(SP) 

BR 34$ 

33$: CMP R1.05 

BNE 35$ 

MOV 0CRU , (SP) 

MOV 01, (SP) 

MOV SP.RO 



2266 
2262 
22/0 
2275 
2281 



2282 



SP.* 



SP,* 



SP,* 

; SP,* 
♦.tNDFLG 



2288 
2291 

2292 



2289 
2296 

2299 



2300 



2301 
229 7 
2305 

2308 



I SP,* 



L8 



ZRQB3 

REV C PATCH 



001250 
001252 
001256 
001262 
001266 
001270 
001272 
001500 
001304 
001306 
001312 
001314 
001322 
001324 
001332 
001336 



104414 

012716 
012746 
012746 
010600 
104414 
012776 
062706 
00020 7 
02012 7 
001004 
012737 
000403 
012737 
004737 
000207 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 



OOOOOOG 
OOOOOOG 
000002 



000002 000020 
000010 



0000C6 
004001 



OOOOOOG 



001001 OOOOOOG 
OOOOOOG 



5-Mor-l984 3.4:48:56 
5 -Mar -1984 14:39:51 



SEQ 0102 
VAX-11 eilss-16 V4. 0-579 Page 30 

DISK $USER2 i [ YOUNG . FMT ]ZRQB3 . B16 ; 15 C 7 ) 





TRAP 


14 




MGV 


tfMSGADR.CSP) 




MOV 


OFMTl, (SP) 




MOV 


02,-CSP) 




MOV 


SP.RO 




TRAP 


14 




MOV 


«2,a20CSP) 


34$: 


ADD 


410, SP 




RTS 


PC 


35$: 


CMP 


Rl,*6 




BNE 


37$ 


36$: 


MOV 


#4001, RET. STATUS 




BR 


38$ 


37$: 


MOV 


#1001, RET. STATUS 


38$: 


JSR 


PC, DECODE 


39$: 


RTS 


PC 



? SP,* 

} *,ENDFLG 
s 



2309 



2310 
2306 
2069 
2514 

2316 

2317 
2323 
2324 
2064 



Routine Size: 368 words, Routine Base: 
Maximum stack depth per invocation: 9 words 



$C0DE$ * 1522 



; 2328 


1 




j 2329 


1 


rout ine 


: 2330 


2 


begin 


2331 


2 




: 2332 


2 




: 2333 


2 




; 2334 


2 




; 2335 


2 




; 2356 


2 




; ?337 


3 




j c338 


3 




; 2339 


3 




; 2340 


3 




j 2341 


3 




; 2342 


3 




: 2343 


i.. 




: 2344 






; 2345 


1 


er\di 


000000 < 


304 137 


OOOOOOG 


000004 t 


312701 


000001 


000010 ( 


305002 




000012 1 


316646 


000014 


00001.6 ( 


3101.46 




000020 1 


304/37 


OOOOOOG 


000024 


322626 




000026 i 


32002 7 


000012 


000032 


103410 




000054 I 


310146 




000036 


312746 


000012 



local i , jj 

• J 1; 

j * 0; 

while .num/.i gequ 10 do i a .i * 10} 

Nh i le .1 gequ 1 do 
begin 

j * . j ♦ 1 i 

ch$ptr( ,ptr)<0,8> - *c'0' » .num/.Jj 

ptr - ch$plusC .ptr, l)j 

num a .num - C ,num/ . i )+ , i j 

i = . i/10; 



return 



J! 



.SBTTL bTOD I ORMATTER SECTION 1 

BTOD: JSR R1.JSAVE3 

MOV «1,R1 

CLR R2 

1$: MOV 14(SP),-(SP1 

MOV IU,-(SP) 

JSR PC.fil. $DIV 

CMP (SP")*,(SP)» 

CMP MO, ^12 

OLO 2$ 

MOV Ml, (SP) 

MOV 012, -CSP) 



♦.I 
J 
NUM , * 

I.* 



! l,+ 



232> 
2 5 52 
2333 
2334 



M C) 



M8 



/RQB3 

REV C PATCH 



000042 
000046 
000050 
000052 
000054 
000056 
000060 
000062 
000066 
000070 
000074 
000076 
000102 
000106 
000112 
C00114 
000116 
000122 
000126 
000130 
000134 
000140 
000142 
000146 
000150 
000152 



004737 
010001 
022626 
000757 
005701 
001434 
005202 
016646 
010146 
004737 
0100O3 
062703 
110376 
005266 
010016 
010146 
004737 
160066 
010116 
012746 
004737 
010001 
062706 
000742 
010200 
000207 



RDRX DISK FORMATTER 
FORMATTER SECTION 1 

OOOOOOG 



000014 

OOOOOOG 

000060 
000016 
000016 



OOOOOOG 
000022 

000012 
OOOOOOG 

000010 



2$ 



3$ 



5 -Mar -1984 14:48:56 
5-Mar-1984 14;39j51 



JSR 


PC,BL$MUL 


MOV 


R0.R1 


CMP 


(SP)»,(SP)< 


BR 


1* 


TST 


Rl 


8EQ 


3$ 


INC 


R2 


MOV 


14(SP)»-(SP) 


MOV 


Rl.-(SP) 


JSR 


PC.BLSDIV 


MOV 


R0.R3 


ADD 


460, R3 


MOVB 


R3 t ai6CSP) 


INC 


16CSP) 


MOV 


RO.CSP) 


MOV 


Rl.-CSP) 


JSR 


PC.BL$MUl 


SUB 


R0.22CSP) 


MOV 


Rl.CSP) 


MOV 


012,-CSP) 


JSN 


PC,BL$DIV 


MOV 


R0.R1 


ADD 


#10, SP 


BR 


2* 


MOV 


R2.R0 


RTS 


PC 



VAX-11 rjliss-16 V4. 0-579 SEQ Paae 3 31 
DISK JUSER2 ; [ YOUNG . FMT ] ZRQB3 , B16 j 15 C 7 ) 



J *.I 



! J 

} NUM.+ 
I I,* 



*,PTR 
PTR 

I.+ 

{ +.NUM 
; I.* 



i *,I 



J,* 



2338 
2339 



2340 
2341 



2342 



2337 
2336 
2330 
2329 



Rout I ne S « ze : 
Maximum stack 



54 words, Routine Base: $CODE$ 
depth per invocation: 9 words 



3062 



2346 


1 




234 7 


1 


end 


2348 





eludom 



OTS external references 

.GLOBL 5SAVE3, $SAVE2, BL$OIV t BLSMUL 



Psect Name 
$0WN$ 
$CQDE$ 



PSECT SUMMARY 



Words 

2 

847 



Attribute: 
RW , U 
RO . I 



LCI , 

LCL, 



Rbl , 
REL, 



CON 
CON 



L ibrary Stat ist ics 



Symbols 



Pages 



Processing 



Kit) 



ZRQB3 

RF.V C PATCH 



Ny 



RDRX DISK FORMAT I LR 
FORMATTER SECTION 1 



5-Mar-1984 14:48:56 
5 Mar -1984 14:39;51 



SEQ 0104 
VAX-11 Bliss 16 V4. 0-579 Page 32 

DISK $USER2 ; [ YOUNG . FMT ] ZRGB3 . 616 ; 15 ( 7 ) 



File 
DlSI<$USfcR2Ut0UNG,FMT]ZRUBB0.L16j4 



Total 


Loaded 


Percent 


Mapped 


T !me 


358 


206 


58 


18 


00:00.1 



COMMAND QUALIFIERS 

BLISS/PDP11/LIST ZRQB3.B16/EN:N0EIS/S0URCfc»PAG&:53 

Sire: 847 code ♦ 2 data words 
Run Tim*: 00:28.2 
L lapsed Time: 02:26.6 
t. ines/CPU Min; 4993 
Levemes/CPU-Min: 32641 
Memory Used: 306 pages 
Compilation Complete 



\Y> 



/RQH4 



0001 
C0iV 

0003 
0004 
OOOS 
000* 
000 7 

000 <J 
0010 
0011 
001^ 

1S4M 

IMS 



RORX DISK FORMATTER 



MODULE /RQB4 (*TITLE • RDRX DISK FORMAT U R' 
IDENT • 'REV C PATCH 0' , 

ADDRESSING. MODF (ABSOLUTE) 

ENVIRONMENT (NOBIS) 

) - 



BKilN 
j 

r«QoI re 



SUBROUTINES 
/RQBB0.L16 1 t 
BISMACREQ* t 



S M«r 1984 14 { r )l \2b 
\> -Mar -1904 14 j 40 1 58 



SfcQ 010 r > 
VAX -11 Bliss 16 V4. 0-579 P©ac 1 

DISKiUSER?s[ fOUNG.FMT)ZRQB4.Bl6i3 (1; 



IDeflne RDRX Formatter library 
•Define Bliss Macro require flic 



*Sbttl 'MODULE DECLARATIONS' 



/RQfl4 


RD^X DISK FORMAT UR 


REV C PATCH MODULE DECLARATIONS 


j 1550 ] 




{ 1551 3 


L forward routine 


; 1552 ! 


L GET_NSD, 


1553 ] 


L GET MRD, 


; 1554 1 


L LOAD OUT$STD^BUF t 


; 1555 1 


L GET.CMOIREF, 


; 1556 1 


L DECOOE : novaiue. 


; 155." ] 


L DUPII. SERVICE t INT 


; 155a 1 


L CTO_UAIT, 


; 1553 j 


L ABORT. 


; 1560 ] 


L GET DUST STATUS, 


i 1561 ! 


L EX.LOC^PROG, 


156^ ] 


L SENO.DATA, 


; 1563 ] 


L REC DATA, 


l 1564 ] 


L 5ET.XNTLR.ChAR, 


j 1565 J 


L INTII. SERVICE : INT 


; 15t>6 ] 


L IS. TIMER, 


i 15t>* ] 


L BOOT RDRX, 


i 1568 ] 


L INITlCQM.AREAi 


i 1569 1 





LNKUYP novalue, 



.LNKSTYP novalue, 



CO 



5 Mar -1984 

5 -Mar -1984 



14t51f?6 VAX-U Blis* 16 V4. 0-5/9 

14 j 40 {58 DISK f USERi? :[ YOUNG.FMT URQB4 ,bl6 j 5 



SEQ 0106 
Page 



(2) 



♦Get ne*t send descriptor slot inden 
• Get ne*t receive descriptor slot inde>. 
!Load out standing command buffer 
•Get unique command reference number 
♦Decode return status error code 

!Oup/UQ port interrupt service routine 
•Command time out wait 
! Abort Dup command 
•Get Dust Status command 
•Enecute Local Program command 
•Send Data command 
♦Receive Data command 
!Set Controller Characteristics command 

[Initialization sequence Interrupt service 
♦Initialization sequence time-out wait 
♦Initialise sequence for RDRX controller 
♦Initialize UQ Port communication area 



09 



ZRQB4 

REV C PATCH 



1570 
1571 

1572 
157? 
1574 
1575 
15 76 
1577 
1578 
1579 
1580 
1581 
158? 
1583 
1584 
1585 
1586 
1587 
1588 
1589 
1590 
1591 
1592 
1593 
1594 
1595 
1596 
1597 
1598 
1599 
1600 
1601 
1602 
1605 
1604 

1605 



RDRX DISK KORMATTtR 
MODULE DECLARATIONS 



5-Mar-l964 
5 -Mar -1984 



SEQ 010/ 
I4j$l:26 VAX -11 Bliss-16 V4. 0-579 Page 3 

14 ? 40 J 58 DISK IUSER2 j [ ^OUNG , FMT JZRQB4 . B16 » 3 ( 3 ) 



The psect named "cod* or *codel" is redefind#d here 
to be colled "acicode", Thi9 is done to organise 
formatter routine code into a seperate psect, 



psect 

code 



3 ac J code j 



Structure declarations used within this module, 



structure 



RDRX register accessing structure. This 
structure allows RDRX register accessing 
to be transportable between the PDP-11 and 
VAX Diagnostic Supervisors, 

This also defines ao access algorithm for 
VAX to allow field reference to MBA address 
space without generating machine checks, 



RDRX (0, P, S, E] « 
begin 

local 

RC$S_REG; 

RC*S_REG - .(RDRX ♦ *upval+0)<0, #bpval» 0>i 

RCIS.REG 

end 

<P. S, E>; 



£9 



ZRQB4 

REV C PATCH 



1606 

1607 
1608 
1609 
1610 
1611 
1612 
1615 
1614 
1615 
1616 
1617 
1618 
1619 
1620 
1621 
1622 
1625 
1624 
1625 
1626 
1627 
1628 
1629 
1630 
1631 
1632 
lo33 
1634 
1635 
1636 
1637 
1638 
1639 
1640 
1641 
1642 
1643 
1644 



RDRX DISK FORMATTER 
MODULE DECLARATIONS 



5-Mar-1964 14-51:26 
5-Mar-1984 14i40:58 



SEQ 0108 
VAX-11 Bliss -16 V4, 0-579 Page 4 

DISK *USER2 : [ YOUNG . FMT 1ZRQB4 . B16 { 3 ( 4 ) 



External Declaration of datums declared outside of this module. 

external 

CommunJ cat ions area declarations 

COM.AREA : blockvector [REALLOCATE ♦ SN0_ALL0CATE ♦ HDR..SIZ, 2, word], 

HEAD^AREA : ref block [4, word] field (HOR FIELD), 

RECEIVE.RING : ref blockvector [REC ALLOCATE, 2, word] field CDSC FIELD), 

SEND.RING : ref blockvector [ SNO, ALLOCATE , 2, word] field (DSC..FIELD) , 

REC.ENVELOPE : blockvector [REC_ALL0CATE, RB..SIZE * 2. word] field CENv FIELD), 

SN0_ENVEL0PE : blockvector [SN0„ALL0CATE, SB.SIZE * 2, word] field CENV'FIELD), 

RET^ENIAD : ref block [RB.SIZE ♦ 2, word] field CENV FIELD), 

REC..BUF . block [RECB_SIZE, word] field (RECB FIELD); 

SND.BUF : vector [SNOB SIZE, word], 

OUT$STD„BUF : blockvector [REALLOCATE, 2, word] field (OUTSFIELD). 

Miscellanious external data declarations 



NRD_SL0T ; word, 
NSD.SLOT : word, 
RDRX ADDR i ref RDRX 
RET^STATUS j word, 
PID_SAVE : word, 
VEC„ADDR ; word, 
UC^VER : byte, 
RSVD STRUCT : vector [4, 
ISO. STRUCT j blockvector 
UNIT NO : word, 
NXT^CRN : byte. 



field (ISD.FIELD), 



word! . 
[4, 2, 



Error Messages Structures 



PFE.STRUCT 
EMSG..STRUCT 



vector [22], 
vector (22]{ 



•Next receive descriptor slot 
!Ne>.t send descriptor slot 
.'Controller reg access struct 
{Global return status location 
.•Saves program indicator field 
.'RDRX interrupt vector address 
•Micro code version storage 
J Stores in«t seq resvered fields 
word] field (ISD^FIELD), Jlnit seq data 
!P.„table unit number to format 
{Stores next cmd ref number 



•Port fatal error msg struct 
i&rror message structure 



F9 



; IMS 


1 


ZRQB4 




REV C PATCH 


; 1646 


1 


; 164 7 


1 


; 1648 


1 


i 1649 


1 


! 1650 


1 


; 1651 


1 


; 165? 


1 


t 1655 


1 


1654 


1 


; 1655 


1 


; 1656 


1 


; 1657 


1 


; 1658 


1 


; 1659 


1 


; 1660 


1 


; 1661 


1 


i 1662 


1 


; 1665 


1 


; 1664 


1 


; 1665 


1 


; 1666 


1 


; 1667 


1 


s 1668 


1 


; 1669 


1 


; 1670 


1 


; 1671 


1 


; 1672 


1 


; 1673 


1 


J 1674 


1 


J 1675 


2 


; 1676 


2 


; 1677 


2 


; 1676 


2 


; 1679 


2 


; 1680 


2 


; 1681 


2 


; 1682 


2 


j 1683 


2 


j 1684 


2 


1685 


2 


; 1686 


2 


; 168 7 


2 


1688 


2 


; 1689 


2 


1690 


? 


; 1691 


1 



*sbttl 'GLOBAL ROUTINE DECLARATIONS 

RDRX DISK KORMATTER 

GLOBAL ROUTINE DECLARATIONS 



5-Mar-1984 14:51;26 
5-Mar-1984 14:40;58 



SEQ 0109 



VAX-11 Bltss-16 V4. 0-579 Page 6 

DISK$USER2:[ YOUNG. FMT]ZRQB4.B16;3 (6) 



global routine GET_NSD - 



! Chooses the next send slot 



Functional Description : 

This routine will determine which send ring descriptor the 

port/controller is polling and returns that dsc slot number 

to the calling routine. This host pronram w»ll call this 

routine each time it wishes to deposit another command Into the 
command (send) ring. 

Formal Parameters j 
none 

Implicit Inputs j 

NSD..SL0T : Global storage for the next send descriptor slot 

Stores where the host should place this command For 
processing by the port/controller. 

Implicit Outputs : 

The global storage "Nsd_slot" is updated to the 
present send slot where the port/controller is polling. 

Completion Codes ; 

Returns the contents of "Nsd„slot" to the calling routine. 

Side Effects : 
none 

begin 
i 

! Increment the next send descriptor slot by one 
i 

NSD-SL0T - .NSD.SL0T • 1: 
j 

! Set the slot pointer back to *ero If it wraps around 

! to the top of the ring. 

t 

if .NS0_SL0T gtru SNO .ALLOCATE - 1 then NSD.SL0T » ZERO} 

« 

! Return the next send descr iptor_slot to the caller 
t 

return ,NSD„SLQTj 
end! 



.TITLE ZRQB4 RDRX DISK FORMATTER 
, IDENr /REV C / 
.ENABL AMA 



.GL0BL COM, AREA, HEAD.AREA, RECEIVE, RING 



ZRQB4 RDRX DISK FORMATTER 

REV C PATCH GLOBAL ROUTINE DECLARATIONS 



OOOOOO 

000000 005237 OOOOOOG 



000004 
000012 



023727 

101402 

000014 005037 OOOOOOG 

000020 013700 OOOOOOG 

000024 0G0207 



OOOOOOG 000003 



.SBTTL 
.PSECT 

GET.NSO:: 

INC 
CMP 
BLOS 
CLR 

1$: MOV 
RTS 



G9 



5-Mar-1984 14:51:26 
5-Mar-1984 14:40.58 



SEQ 0110 
VAX-11 Bliss 16 V4. 0-579 Page 7 

DISK 1USER2 : [ YOUNG . FMT 1ZRQB4 . B 16 } 3 ( 6 ) 



.GLOBL SEND, RING, REC. ENVELOPE, SND. ENVELOPE 

.GLOBL RET.ENiAD, REC. BUT, SND.BUF, OUT$STD,BUF 

.GLOBL NRD.SLOT, NSD.SLOT, RDRX.ADDR 

.GLOBL RET. STATUS, PID.SAVE, VEC.ADDR 

.GLOBL UC.VER, RSVD. STRUCT, ISO. STRUCT 

.GLOBL UNIT. NO, NXT.CRN, PFE. STRUCT, EMSG. STRUCT 



GET.NSD 
$C0DE$, 



GLOBAL 
RO 



ROUTINE DECLARATIONS 



NSD.SLOT 

NSD.SLOT, #3 

1$ 

NSD.SLOT 

NSO.SLOT.RO 

PC 



16/9 
1685 



1675 
1646 



Routine Size: 11 words , Routine Base: $C0DE$ ♦ 0000 
Maximum stack depth per invocation: words 



1692 1 



ZRQB4 

Rev c 



PATCH 



1693 
1694 
1695 
1696 
1697 
1698 
lt»99 
1700 
1701 
170*? 
1703 
1704 
1705 
1706 
1707 
1708 
1709 
1710 
1711 
1712 
1713 
1714 
1715 
1716 
1717 
1718 
1719 
1720 
1721 
1722 
1723 
1724 
1725 
1726 
1727 
1728 
1729 
1730 
1731 
1732 
1735 
1734 
1735 
17 36 
1/3/ 
1738 



1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
2 
2 

2 

2 
2 

2 

c 

2 
2 
2 
2 
2 
2 
2 
2 
2 
1 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

global routine GET_NRD « 



-19 



5-Mar-1984 14:51:26 
5-Mar-1984 14;40i58 

J Chooses the next receive slot 



SEQ 0J.11 
VAX-11 Bliss -16 V4. 0-579 Page 8 

DISK $U5ER2 ; [ YOUNG . FMT ] ZRQB4 , B 16 ; 3 C 7 ) 



Functional Description : 

This routine will determine which receive ring descriptor the 
port/controller is polling and returns that dsc slot number to 
the calling routine. This host program will coll this routine 
each time it wishes to process another receive ring descriptor. 

Formal Parameters ; 
none 

Implicit Inputs J 

NRD.SLOT : Global storage for the next receive descriptor slot 

Stores where the port should return this commands 
response indicator. 

Implicit Outputs : 

The global storage "Nrd.slot" is updated to the 
present receive slot where the port/controller 
is polling. 

Completion Codes : 

Returns the contents of "Nrd.slot" to the calling routine. 

Side Effects : 
none 

begin 

! Increment the next receive descriptor _slot by one 
i 

NRD.SL0T > .NRD^SLOT ♦ It 

i 

J Set the slot pointer back to zero if it wraps around 

! to the top of the ring. 
i 

if .NRD.SLOT gtru REC.ALLOCATE - 1 then NRD„<U 0T » ZERO; 

i 

! Return the next receive descriptor slot to the caller 
j 

return .NRD.SL0T; 
end} 



O000O0 005237 



000004 
000012 



023/2 7 
101402 



000O0OG 
0OO000G 000003 



.SBTTL GET.NRD GLOBAL ROUTINE DECLARATIONS 
GET.NPD:: 

TNC NRD.SLOT 

CMP NRQ.SLGT,^ ; 

BLOS 1* 






ZRQB4 

REV C PATCH 



000014 
OOQQS.O 
OOOUtM 



005037 
013 700 
00020/ 



RDRX DISK FORMAT TLR 

GLOBAL ROUTINE DECLARATIONS 



OOOOOOG 
OOOOOOG 



15 



1 9 



5-M a r-1964 14:51:26 
5-M n r-1984 14:40:58 



Cl.R 


NRD.SLOT 


MOV 


NRD.Sl.OT.RO 


RTS 


PC 



SEQ 0112 
VAX-11 Biiss-16 V4. 0-579 Poa e 9 

DISl<$USER2:f YOUNG. FMT]ZRQB4 .B16 j 3 C7J 



1 7?Z 
1693 



Routine Sire: 11 words, Routine Base: $C0DE$ * 0026 
Mas i mum stack depth per Invocation; words 



1739 1 



n 



ZRQB4 
REV C 



PATCH 



1740 
1741 
174? 
1743 

1744 
1745 
1746 
1 74 7 
1748 
1749 
1750 
3 751 
1*52 
1 \i3 
l-'54 
: 755 
i 756 

175; 

17 5* 
1759 
1760 
1/61 
1762 
1763 
1764 
1765 
1766 
1767 
1768 
1769 
1770 
1771 
17 72 
1773 
1774 
17 75 

1776 

17 77 

17 78 

17 79 
1780 
1781 
178? 
1783 
1784 
1785 
1/86 
1787 
1788 
1789 
1790 
1/91 
1/92 



RDRX DISK FORMAT TfcR 

GLOBAL ROUTINE DECLARATIONS 

global routine LOAD .OUT $STD_BUF (REF.NUM) * 



5-Mar-1984 14:51:26 
5-Mar-1984 14-40:58 



SEQ 0113 
VAX-11 Bliss-16 V4. 0-579 Page 10 

DISK *USER2 : [ YOUNG . FMT ]ZRQB4 . B16 ; 3 (Q) 



M.oad out $std ..buffer with this command 



Functional Description : 

The outstanding command buffer "out istd_buf " is used by 
this host program to determine if an outstanding command 
issued to the port has been processed yet. This is done 
by examining the receive flag 'Rec_flg' in a buffer <-,lot 
for a ' 1' which Is set by the interrupt service routine 
during response ring interrupts. 

This buffer can be looked at as a window between the port 
driver receiving S n^; v t"sirtQ the responce envelopes and the 
host class driver 'ssuing commands to the port. 



This routine loads 
following values: 



into ar\ empty out$std„buf slot the 



1. This commands reference number. 

2. Clears 'rec_flg' indicating this command is outstanding, 

3. Clears out the second word in slot where the returned 
envelope address will go. 

IMPORTANT NOTE: 

To quarentee a command loaded into the out $std_buf fer will 
r.c>/er be lost (i.e. having this ro^-cine return a buffer 
slot not yet received by the interrupt service routine), 
only the cto_wait (controller time out wait) routine is 
permitted to return a out*std„buf slot to the unused pool 
(i.e. by leading a slots first word with *o' 100000'), 
This routine is therefore guarenteed to return an unused 
out $std. buffer slot when this unique value of #o' 100000" 
is found. To further quarentee this, unique command ref 
numbers will ry^er use zero as a reference number. 



Formal Parameters 
REF NUM 



This is the unique reference number of this 
command set to the port. 



Implic I t Inputs : 
none 

Implic i t Outputs : 
none 

Completion Codes : 

The outstanding buffer slot index where 
is routines value and is returned to the 

Side tffects ; 
none 



this command 
caller, 



was put 



!• o 



ZRQB4 

REV C PATCH 



1795 
1794 

1795 
1796 
1797 
1798 
1799 
1800 
1801 
1802 
1803 
1604 
1805 
1806 
180? 
1808 
1809 
1810 
1811 
1812 
1813 
1814 
1815 
1816 
1817 
1818 
1819 
1820 
1821 
1822 
1823 
1824 
1825 
1826 



2 
2 
2 
2 
2 
2 
3 
3 
3 
3 
3 
2 
2 
2 
o 



2 
2 
1 



l<9 



RDRX DISK FORMATTER 

ULOBAL ROUTINE DECLARATIONS 



5-Mar~1984 14:51:26 
5-Mar-1984 14:40:58 



SEO 0114 
VAX-11 Bliss-16 V4. 0-579 Page U 

DISK*USER2 i ( YOUNG . FMT ]ZRQB4 . B16 j 3 ( 8 ) 



i 



begin 



Search through the out standing command buffer 
and look for the first open slot. Return this 
first «lot Inde* to the caller if one is found 
If no open slots are found then return an error code 



i ncru » 
i 



from to REC_ALL0CATE - 1 do 



•Find the first open slot 



An open slot is 
*o' 100000' in 



by definition the value 
the slots first word. 



if .0UT$ST0 BUT 

then 

begin 

0UT$STD_8Uf 
0UTSST0 BUF 
0UT$ST0^BUF 
return , i } 
end; 



t.i. CMD„WRD] eqlu *o' 100000' 



Is this slot open 



RF.C.FLG] - FALSE; 'Clear the received flag 
ChD_REF] - .REF_NUMj 'Load this cmd* s ref num 
ENV_A0R] = ZERO; 'Clear the previous env adr 

{Return buffer index to caller 



The buffer Is full if the code reaches 
here. This should ncvt^r happen so 
report an error for debug purposes 



return RET„STATUS 
end; 



OBF^CODE; 



•Report an • outSstd buffer full" error 



000000 004137 000000G 



.SBTTL. LOAD, OUT55TD. BUF GLOBAL ROUTINE DECLARATIONS 



000004 
000006 
000010 
000012 
000014 
000020 
000022 
000026 
000030 
000034 
000040 
000044 
000046 
000050 



LOAD. 0UT$STD. BUF 



005002 
010200 
006300 
006300 
012701 
060001 
021127 
001010 
042711 
116611 
005060 
010200 
000207 
005202 



1$ 



0000O0G 

100000 

100000 
000010 
000002G 



2? 



JSR R1,$SAVE2 

CLR R2 

MOV R2,R0 

ASL RO 

ASL RO 

MOV 0OUTiSTD.BUF.Rl 

ADO R0.R1 

CMP (Rl), 0-100000 

RNE c. $ 

BIC 0100000, (Rl) 

MOVB lO(SP).CRl) 

CLR 0Un$TD.BUF*2CR0) 

MOV R2.R0 

RTS PC 

INC R2 



1 "40 
1805 
1811 



REF, NUM,* 



!.♦ 



J I 



1814 
1815 
18lt> 
1813 

1»05 



i ^\ 



ZRQB4 
REV C 

000052 
000056 
000060 
000064 
000070 



PATCH 

020227 
101753 
012700 
010037 
000207 



RORX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

000003 

002001 
OOOOOOG 



9 



5-Mar~1984 14:51:26 
5-Mar-1984 14-40:58 



SEQ 0115 
VAX-11 Bliss-16 V4. 0-579 Page 12 

DISKIUSER2 s C YOUNG. FMT 1ZRQB4 ,B16 ; 3 (8 ; 



CMP 


R2,#3 


BLOS 


1* 


MOV 


#2001, SO 


MOV 


RO.RET, STATUS 


RTS 


PC 



r.* 



.1825 
1740 



Routine SI;:*: 29 words, Routine Base: $CODE$ ► 0054 
Maximum stack depth per invocation: 4 words 



1827 



KvlO 



ZRQB4 

REV C PATCH 

1828 

1829 

1850 

1831 

1832 

1833 

1834 

183b 

1836 

183? 

1838 

1839 

1840 

1841 

1842 

1843 

1844 

1845 

1846 

1847 

3 848 

1849 

1850 

1851 

1852 

1853 

1854 

1855 

1856 

1857 

1858 

1859 

1860 

1861 

1862 

1863 

1864 

1865 

1866 

1867 

1868 

1869 

1870 

1871 

18/2 

1873 

18 74 

18 75 ;? 

18 76 2 

18/7 ;.' 

1878 2 

1879 2 

1880 2 



RDRX DISK FORMATTER 
GLOBAL ROUTINE DECLARATIONS 

global routine GET_CMD*REF 



M9 

5 -Mar -1984 14:51:26 
5-/1ar-1964 14:40:58 

•Gets next unique cmd ref number 



SEQ 0116 
VAX-11 Bliss-16 V4. 0-579 Page 13 

DISKJUSER2 i I YOUNG . FMT ] ZRQB4 , B16 ; 3 ( 9 ) 



Functional Description .* 

A 32 b i t unique non-zei'o number used to identify host commands 
Class drivers should supply a unique reference number in each 
command that the send to a DUP server, A class driver may supply 
a zero reference number if it does not need to associate a command 
with its end message. 

Command reference numbers must be unique across all commands that 
are outstanding on the same connection i.e., they must be unique 
across all outstanding commands issued by a s ingle class driver 
(Host) to a single DUP server, The class driver may re-use a 
commands reference number when the command is no longer 
outstanding -- I.e., after receiving the commands end message or 
after re-synchronizing with the OUP server. Command reference 
numbers need not be unique for commands issued by different class 
drivers — i.e. commands issued by different host or commands for 1 
diffeent OUP servers from the same host. Therefore controllers 
must internally use the comb I not ton of a command reference number 
and the connection on which the command was received as the unique 
identifier of nn outstanding command. 



This routine will generate a unique command rerercn 
will search the outlstanding command buffer to see if 
The first unused unique command reference found will 
to the calling routine, 



reference number and 

already uesd 

be returned 



Formal Parameters : 
none 

Jmplici c Inputs : 

NXT_CRN This global location stores the next unique cmd 

reference number to be used. 

Implicit Outputs j 

NXT..CRN This global location is loaded with the next 

unigue command reference number. 

Completion Codes : 

The contents of ,NXT_CRN is returned to the calling routine, 

Side Effects : 

none 



begin 

local 

DONE j 



Mn 



N9 



ZRQB4 




REV C PATCH 


; 1*61 


2 


; 188? 




; 188? 




; 1884 


t. 


; 188S 




; 1886 


2 


; 1887 


'■» 


; 1888 


i-. 


; 1689 


2 


; 1890 




; 1891 




; 129? 




; 1893 


3 


i 1894 


? 


; 189S 


3 


; 1896 


3 


; 1897 


3 


; 1098 


3 


; 1899 


3 


j 1900 


3 


; 1901 


? 


; 1902 


3 


; 1903 


3 


; 1904 


3 


; 190b 


3 


; 1906 


3 


; 190/ 


3 


; 1908 


3 


; 1909 


3 


; 1910 


3 


j 1911 


3 


; 191? 


3 


; 1913 


3 


; 19i4 


3 


; 191S 


4 


1916 


4 


; 1917 


4 


; 1918 


4 


; 1919 


3 


; 1**20 


3 


; 1921 


3 


j 192? 




i 19?3 


n 

i. 


; 1924 




i 192S 




i 1926 


■ j 


; 192/ 
; 1928 


c 

1 



RDRX DISK FORMATTER 
GLOBAL ROUTINE DECLARATIONS 



Increment the global unique command 
reference number before anything is done 



5-Mar-1984 14:51:26 
5-Mar~1984 14:40:56 



SEQ 011/ 
VAX-11 Bliss- 16 V4. 0-579 Page 14 

DISK $USER2 : [ YOUNG . FMT 1ZRQB4 , B16 ; 3 ( 9 ) 



NXT_CRN » .NXT_CRN ♦ 1; 



Repeat operating and searching the outstanding 
command buffer until a unique command reference 
number is found. 



do 



begin 



Wrap this next Command reference number around 
back to one if it is greater then 255 C decimal) 



if .NXT_CRN geqi. 255 then NXT..CRN * 1; 
DONE - TRUE; 



.'Clear the all done indicator flag 



Now search the out istd_buf fer for this command 
reference number. If not there then done stays 
true and the loop will end else increment to the 
next unique command ref number and make done false 
to continue the loop. 

incru i from to REC.ALlOCATC - 1 do ! Search buffer for this cmd ref num 

if .0UT$STD_BUf l.i, CMD_RbTJ eqlu ,NXT CRN JOoes it already exist 

then 

begin lit already exists 

NXT_CRN - .NXT_CRN ♦ 1; JTry the next sequential cmd ref num 

DONE • FALSE; !Moke c ;>de loop again 

ex '< t loop ; !Exit this incr loop 

end: 



end 

until .DONE: 



! Repeat loop until done 



Return the unique command reference number to the caller. 

return ,NXT„CRN; 
cr\d; 



000000 010146 



. SUTTL i;ET.CMD*REF GLOBAL ROUTINE DECLARATIONS 
GET.CMD*R>> :; 

MOV Rl^(SP) : 



ioVS 



P. I 



/RQB4 
RFV C 

000002 
000006 
000014 
000016 
000024 
000030 
000032 
000040 
000042 
000046 
000050 
000052 
000056 

000062 
0000t>4 

00O066 
0000/0 
000072 
0000 *6 
000100 



PATCH 

105237 
123727 
103403 
112737 
012701 
005000 
126037 
001004 
10523 7 
005001 
000405 
062 700 
02002 7 
101765 
006001 
103 54 / 
005000 
153/00 
012601 
000207 



RORX DISK FORMATTER 

GLOBAL ROUUNf. DfcCLARATIONS 

OOOOOOG 
OOOOOOG 00037/ 



000001 
000001 



vUOOOOG 



OOOOOOG OOOOOOG 
OOOOOOG 



000004 
000014 



OOOOOOu 







5 


Mar- 


1984 


14 t 


51 


26 


VAX-11 B 


ONS 


INCB 


5 
NXT.CRN 


Mar - 


1984 


14s 


40 


58 


DISIOUSF 


H: 


CMPB 


NXT, CRN, 0377 














BLO 


2» 
















MOVB 


Ol.NXT.CRN 














2*5 


MOV 
CLR 


01. Rl 

RO 












I ♦,DUNL 
l I 


3ii 


CMPB 


OUT*STD,BUF(RO) 


,NXT 


CRN 






i *(I).* 




BNfc 


41 
















INCB 


NX T, CRN 
















CLR 


Rl 












j DON* 




BR 


51 














41: 


ADO 
CMP 
BLOS 


04,90 

R0.014 

31 












i I.* 


b$ 5 


ROR 
BCC 
CLR 
BISB 

MOV 
RTS 


Rl 

11 

RO 

NXT.CRN,RO 

(SP)* ,R1 

PC 












j DONE 



KQ 01 16 
■s 16 V4.0 5/9 Pane 15 

DISK*USFR?j[fOUNG,FMTUF,QB4.Bl6j3 C9) 

1884 
1899 



1901 
1911 
1913 

1916 
191? 
1915 
1911 



1922 
192/ 
1828 



Rout 'ne 
Mft\ t nVjffl 



Sl/e: 53 -ords, Routing B»s«: $CODE$ * 0146 

stack ckpth per invocation: 2 no^ds 



1929 1 



r~> i /\ 



C 1. 



.'RQB4 
REV C 



PATCH 



1950 



193 7 

1938 
193^ 
1940 
1941 
194? 
1943 
1944 
194S 
1946 

194"; 

1948 
1949 
1950 
1951 
195^ 
1953 
1954 
1955 
1956 
1957 
1958 
1954 

1960 
1961 
196? 
1965 
1964 
1965 
1966 
1967 
1968 
1^69 
19/0 

i9a 

19/? 
19/5 
19/4 
1975 
1976 
19// 
1978 
1979 
1980 
19M1 
198c J 



RORX DISK hORMATTLH 

GLOBAL ROUTINE DECLARATIONS 

global routine DECODE t novalue ■ 



S-Mar-19B4 14:51:26 
5 Mar 1984 14:40:58 

{Decodes failing SA reg data 



VAX 11 Bliss 16 V4. 0-579 
DISK$uStR^}[Y0UNCi,FMnZRQB4.3l6j3 



SEQ 0119 
Page 



16 
flOJ 



functional Description ; 

Due to the impl i mentat ion of the DUP and UQ Port protocol there 
are two levels at which an isuued command to a port/controller 
can fail and they are: 

1. The issued command can time out. 



An error can be posted In SA register bit 15 by the port 
report an error. 



to 



3, The issued command to the port/controller can be executed 
correctly without any errors but the response packet statu*; 
field could have an error or stat»js other than success posted 

These errors or status's returned are all returned to the host 
routine which Queued the DUP command via the global storage 
"RET ^STATUS". The host to port /controller communications 
connection having the highest priority (ie. if the SA Reg error 
bit is set the DUP interrupt routine returns a PFE .C00E and this 
code is passed up to the calling host routine with out being 
intercepted by any routine on the way up). 



will then be called whan the return fr 
back with an error code or non success,^.** ^^..^j 

in the returned status 



om a oueued 

-. , _. _. . _ or non successful 1 status 

by definition when bit 



recovery action will be done for each individual 



Th Is rout ine 
command comes 
code. Th i s is 
is eoual to 1 . 

An appropr i ate 
error. 

Formal Parameters t 
none 

Implicit Inputs : 

RET_STATU5: Stored in this global storage Is the returned error 

code or non -successful statu** code from a queued 
command. 

Implicit Outputs : 
none 

Completion Codes j 
none 

Side Effects : 

All formatter errors are fatal, therefor after execution 
of this routine the ROM* controller Is initialised 
aborting any DM code running in the controller. 



r ^ •♦ /n 



D10 



ZRQR4 




REV C PATCH 


t 1983 


2 


5 1984 


2 


i 1965 


2 


1986 


c 


; 198? 


2 


; 1988 


1 


l 1989 




{ 1990 




; 1991 


2 


; 1992 




: 1993 




; 1994 


r> 


; 1995 




; 1996 


c 


; 1997 


2 


1998 


c 


1999 


2 


; 2000 




; 2001 


2 


: 2002 


3 


; 2003 


3 


; 2004 


i 


; 2005 


c. 


; 2006 


2 


; 2007 


2 


; 2008 


2 


; 2009 


2 


J 2010 


-> 


I 2011 


2 


; 2012 


2 


j 2013 


3 


; 2014 


3 


: 2015 


2 


: 2016 


2 


2017 


2 


; 2018 


2 


2019 


2 


; 2020 


2 


i 2021 


2 


; 2022 


2 


: 2023 


2 


; 2024 


2 


i 2025 


3 


: 2026 


3 


j 202/ 


2 


; 2028 


2 


; 2029 


2 


; 2030 


^ 


; 2051 


■I 


2032 


i. 


; 2053 


2 


; 20 34 


2 


; 2035 


2 



RDRX DISK FORMATTER 
GLOBAL ROUTINE DECLARATIONS 

begin 



5-Mar-1984 14 5 51i26 
5-Mar-1984 14:40:58 



VAX-11 Bliss-16 V4. 0-579 

DISK *USER2sC YOUNG, FMT1ZRQB4.B16; 3 



) 0120 
Page 1 7 
CIO) 



Use the contents of "RET ..STATUS" to select what 
type erro 1 " or non -successful status code Is to 
be processed. 



selcctoneu ,RFT STATUS of 
set 



"Commun i cat Jon area Initialize" error code 

Thiscrror code Indicates that the port did 
not in" t the com area In the host memory efter 
step 2 of the initialization sequence 



fClF._C0DE) : 
begin 

PRINTF C ,EMSG„STRUCT [MSG4))| 
end; 

•'Port/Controller time out" error code 



Port/Controller timed out after the specified 
time out interval. 



JCode equals *o'0t' 



•Code equals *o* 11 



[CT0_C0DE] : 
begin 

PRINTF (.EMSG„STRUCT [MSG2l])| 
end; 

"Port fatal error" code 



The error bit in the SA Register was set when 
examined in the DUP* I_SERVlCE routine. This 
error indicates a Port fatal error code. 



[PFE_C0DEl j JCode equals *o'2l 

begin 

PRINTF (.PFE..5TRUCT [,RDRX_ADDR IRCSA, ERR ..CODE] 1 )| 
end: 

"Return status error" code 

This indicates that a non successful return status 
code was returned from an issued command. 



[RSL.CODE] j 



JCode equals *o'3t 



RIO 



ZRQB4 




REV C PATCH 


j 2036 


3 


: 2037 


3 


{ 2038 


2 


; 2039 


c 


2040 


2 


{ 2041 


2 


204? 




j 204 3 


c 


; 2044 


2 


; 2045 




2046 




; 204? 


3 


2048 


3 


; 2049 


2 


; 2050 


2 


; 2051 


2 


i 2052 


2 


; 2053 


2 


; 2054 


2 


j 2055 


2 


j 2056 


c' 


; 2057 




; 2058 


2 


; 2059 


2 


2060 


2 


{ 2061 


2 


; 2062 


3 


j 2063 


3 


: 2064 


2 


; 2065 


2 


; 2066 


2 


; 2067 


2 


; 2068 


2 


; 2069 


2 


j 2070 


3 


; 2071 


3 


; 2072 


2 


2073 


2 


; 2074 


2 


: 2075 


2 


; 2076 


2 


; 2077 


2 


; 2078 


3 


; 2079 


3 


; 2080 


2 


; 2081 


2 


; 2082 


2 


; 2083 


I-- 


; 2084 


2 


; 2085 


£1 


; 2086 


3 


; 208 7 


3 


: 2088 


2 



RDRX DISK FORMAT ThR 

GLOBAL ROUTINE DECLARATIONS 



5 Mar -1984 14 i 51; 26 
5-Mar-l984 14j40:58 



SEQ 0121 
VAX-11 Bliss -16 V4, 0-579 P Q ge 18 

DISK*USER2;[Y0UNG.FMTJZRQB4,B16{3 ClO) 



begin 

PRINTF ( ,EMSG„STRUCT [MSGO])| 

endj 

"Port Portocol violation" error code 

A protocol violation error was detected during 
host processing of an issued command. 



[PVE_C0DE] ; J Code equals rfo'41' 

begin 

PRINTF ( .EMSG.STRUCT (MSGU)j 
er\d; 

"Remote program died" error code 

This indicates that the remote program running 
in the DM machine did not responded within the 
designated time out interval and that the progress 
indicator was not increase after subsiquent time out 
delays. It Is assumed that the remote program Is dead 
and is treated as a fatal error. 



[RPD..C0DE] : 

PR?NTF ( .EMSG_STRUCT [MSG2])| 
end: 

"Port to host synchronous error" code 



!Code equals *o' 51 



[PSE..C0DE] : 
b«gin 

PRINTF ( ,EMSG_STRUCT [MSG5j)j 
end: 

"Message length error" code 



[MLE_C0DE] : 
begin 

PRINTF ( .EMSG ..STRUCT [ MSG6 ] ) ; 
endt 

"Unknown end code" error code 



[UEC_C0DE] j 
begin 

PRINTF ( .EMSG..STRUCT [MSG7])j 
end} 



!Code equals *o* 61* 



.♦Code equals *o' ?1 



.'Code equals *o' 101 



r- 



•» y\ 



10 



^RQB4 




REV C PATCH 


; 2089 


2 


; 2090 


2 


; 2091 


2 


; 2092 


2 


2095 


2 


; 2094 


3 


; 2095 


3 


; 2096 




; 2097 


2 


; 2098 




; 2099 


2 


; 2100 


2 


; 2101 


2 


; 2102 


? 


; 2103 


3 


; 2104 




I 2105 


2 


; 2106 


2 


; 210? 


2 


; 2108 


2 


; 2109 


2 


; 2110 


3 


; 2111 


3 


; 2112 


2 


; 2113 


2 


; 2114 


2 


; 2115 


2 


; 2116 


2 


; 2117 


2 


; 2118 


3 


: 2119 


3 


; 2120 


2 


; 2121 


2 


; 2122 


2 


; 2123 


2 


; 2124 


2 


; 2125 


2 


; 2126 


3 


i 2127 


3 


f 2128 


2 


; 2129 


2 


j 2130 


2 


; 2131 


2 


; 2132 


2 


; 2133 


2 


j 2134 


3 


; 2135 


3 


; 2136 


2 


; 2137 


2 


; 2138 




; 2139 


7> 


; 2140 


? 


J 2141 


2 



RORX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



5-Mar-l984 14{51:26 
5~Mar-l984 14j40;58 



5EQ 0122 
VAX-11 Bliss-16 V4. 0-579 Page 19 

DISK $U5ER2 : [ YOUNG , FMT ]ZRQB4 . B 16 j 3 CIO) 



"Adaptor purge request" error code 



[APR.COOE] : 
begin 

PRINTF (.EMSG3TRUCT [MSG8]); 
end; 

"Unknown interrupt" error code 



ruIN_C0DE) j 
begin 

PRINTF ( ,r,MSG_STRUCT [MSG9]); 
end; 

"ATTENTION MSG ENDCODE" error code 



[ATN_C0DE] : 

PR?NTF C.EMSG_ STRUCT [MSG12D; 
end} 

"COMMAND MSG ENDCODE" error code 



[CMD.COOE] : 
begin 

PRINTF ( »EMSG_STRUCT [MSG13l)i 
end} 

"SERIOUS EXCEPTION" error code 



[SEX_CODE] : 
begin 

PRINTF C.EMSG. STRUCT [MSG14])} 
end} 

"INVALID COMMAND" error code 



riVCCUDE] : 
begin 

PRINfF ( .EMSG. STRUCT [HSGlbDi 
endi 

"UNKNOWN MESSAGE TYPE" error code 



[UMT.C0DE] i 



!Code equals tfo'201 1 



•Code equals tfo'301' 



J Code equals rfo'401' 



•Code equals tfo'501' 



•Code equals *o'601* 



ICode equals *o' 701' 



!Code equals *o* 1001 



ZRQB4 




REV C PATCH 


5 2142 


3 


; 2i43 


3 


; 2144 


2 


; 2145 


2 


; 2146 


2 


; 2147 


2 


; 2148 


^ 

c 


; 2149 




; 2150 


3 


j 2151 


j 


j 2152 




; 2153 


-y 


j 2154 


> 


j 2155 


2 


; 2156 


2 


5 2157 


2 


; 2158 


3 


; 2159 


3 


; 2160 


2 


; 2161 


2 


5 2162 


2 


; 2163 


2 


; 2164 


2 


; 2165 


2 


; 2166 


5 


j 2167 


3 


; 2168 


2 


; 2169 


2 


; 2170 


2 


; 2171 


2 


j 2172 


2 


; 2173 


2 


; 2174 


3 


; 2175 


3 


: 2176 


2 


; 2177 


D 


2178 


2 


: 2179 


2 


; 2180 


2 


; 2181 


2 


; 2182 


2 


; 2183 


3 


j 2184 


3 


; 2185 


2 


; 2186 


2 


; 2187 


2 


; 2188 


2 


j 2189 


2 


; 2190 


2 


; 2191 


■ i 


; 2192 


2 


; 2193 


2 


; 2194 


2 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATION! 



G10 

5-Mar-l984 14:51:26 
5-Mar-1984 14;40:58 



SEQ 01.23 
VAX-11 Bliss -16 V4. 0-579 Pa a e 20 

DISK*USER2:[ YOUNG. FMT]ZRQB4.816;S Cl6; 



begin 

PRINTF ( .EMSG.STRUCT [MSGL6])| 

end; 

"UNKNOWN MESSAGE NUMBER" error code 



[UMN^CODE] : 
begin 

PRINTF C ,EMSG_STRUCT [MSG19]); 
end; 



.'Code equals *o*4001' 



Out standing buffer slots are all filled up 



(OBF.CODEl : 

PRINTF (,EMSG STRUCT (MSG17]); 



.♦Code equals *o'2001' 



Out standing command buffer out of sync error 



[OSE.CODE] : 

PRINTF ( ,EMSG ..STRUCT [MSGI8D1 
end: 

File read error from local load media 



[FRE_CODE] : 
begin 

PRINTF ( ,EMSG„STRUCT [MSG20]); 
endj 



•Code equals *o»3001' 



SCode equals *o'5001 



This is here to trap any unknow return status codes 
sent to this routine. 



[otherwise] : 

begin 

PRINTF C.EMSG ..STRUCT (MSG3)); 

end; 
tes; 

All errors are fatal so Jn?t the RDRx 
and jump to the clean up code section 
to abort this units format. 



URT .RDRX CRCIP, RC.ALL, ONES); 
DOCLN; 



•Code equals non of the above 



♦In it the controller 

IJump to the clean up code section 



\ I t *N 



7RQB4 

REV C PATCH 



£195 

2196 



RDR\ DISK FORMAT TER 

GLOBAL ROUTINE DECLARATIONS 



end; 



H 1 



5-M«r~1984 14 j. 51: 26 
5*Mor-l984 14:40:58 



VAX-11 BUss-16 V4. 0-579 
DISK$USER2:[ Y0UNG.FMT]ZRQB4.BI6j3 



SEQ 0124 



Page 21 
f 10) 



000000 
000002 
000004 
0O0C10 
000014 
000016 
000022 
000026 
000050 
OC0032 
000034 
000040 
000042 
000046 
000052 
000054 
000056 
000060 
000064 
000066 
000072 
000076 
000100 
000104 
000106 
000112 
000116 
000120 
000122 
000124 
000130 
000132 
000136 
000142 
000144 
000146 
000150 
000154 
000156 
000162 
000166 
000170 
000172 
000174 
000200 
000202 
000206 
000212 



010146 
024646 
013701 
020127 
001007 
013746 
012746 
010600 
104417 
00057 7 
020127 
001007 
013746 
012746 
010600 
104417 
000577 
020127 
001017 
013700 
016016 
011600 
042700 
006300 
016046 
012746 
010600 
104417 
000567 
020127 
00100 7 
013746 
012746 
010600 
104417 

00056 7 
020127 
001007 
013746 
012746 
010600 
10441/ 
00056 7 

02012/ 

001007 
013746 
012746 
010600 



DECODE 



OOOOOOG 
000001 

0000 10G 
000001 



000011 

000052G 
000001 



000021 

OOOOOOG 
000002 

174000 

OOOOOOG 
000001 



000031 

OOOOOOG 
000001 



00004 1 

000002G 
000001 



000051 

000004G 
000001 



1$: 



2$; 



3$ 



4$ 



5$ 



.S6TTL 


DECODE GLOBAL ROUTINE 


DECLARATIONS 


{MOV 


Rl, -(SP) 




CMP 


-(SP). -CSP) 




MOV 


RET. STATUS, Rl 




CMP 


Rl.*l 




BNE 


1$ 




MOV 


EMSG.SrRUCTflO, -(SP) 




MOV 


01. -CSP) 




MOV 


SP.RO 


j SP,* 


TRAP 


17 




BR 


13$ 




CMP 


R1.M1 




BNE 


2$ 




MOV 


EMSG.STRUCTf52, -CSP) 




MOV 


Ol.-(SP) 




MOV 


SP.RO 


} SP,* 


TRAP 


17 




BR 


15$ 




CMP 


Rl,*21 


} 


BNE 


3$ 




MOV 


RDRX.ADDR.RO 




MOV 


2tR0),CSP) 


; *.RC 


MOV 


CSP).RO 


; RC$S 


BIC 


4174000, RO 




ASL 


RO 




MOV 


PFE.STRUCT(RO), -CSP) 




MOV 


♦1, -CSP) 




MOV 


SP.RO 


; SP,* 


TRAP 


17 




BR 


17$ 


• 


CMP 


R1.031 


i 


BNE 


4$ 




MOV 


EMSG. STRUCT, -CSP) 




MOV 


01, -CSP) 




MOV 


SP.RO 


j SP,* 


TRAP 


17 




BR 


19$ 




CMP 


R1.441 




BNE 


5$ 




MOV 


EMSG. STRUCT *2, CSP) 




MOV 


#1. (SP) 




MOV 


SP.RO 


8 SP.* 


TRAP 


17 




BR 


21$ 




CMP 


HI ,051 




BNE 


6$ 




MOV 


E-MSG.SIHUCT'4, (SP) 




MOV 


«1, CoP) 




MOV 


SP.RO 


I SP,* 



1930 

1991 
2001 

2003 



2002 
2012 

2014 



2013 
2024 

2026 



2025 
2035 

2037 



20 56 
204^ 

2048 



204 ' 
20f 1 

20«?3 



i i / \ 



I 1 



ZRQB4 

REV C PATCH 



000.214 
0002 \6 
O0<V.?0 
U0J224 

ooc; 26 

ooo; ':> 

000256 

000240 
00024? 
00024 f. 
000250 
000252 
000256 
000262 
OOC »>4 
000266 
0002 70 
000274 
0002^6 
000302 
000306 
000310 
000312 
000314 
000320 
000322 
000326 
000332 
000334 
000336 
000340 
000444 
000 346 
00035? 
000 356 
000360 
000362 
000364 
000370 
000372 
000376 
000402 
000404 
000406 
000410 
000414 
000416 
000422 
000426 
0004 30 
000432 
0004 M 

000440 



1044 W 
0005e>7 
020127 
00100 7 
013746 
012746 
010600 
104417 
00056/ 
020127 

oo loo : 

013746 
012746 
010600 
104417 

0005 7b 
020127 
001007 
013746 
012746 
010600 
104417 
000564 
020127 
001007 
013746 
012746 
010600 
104417 
0^0552 
020127 
001007 
015746 
012746 
010600 
104417 
000540 
02012 7 
00100/ 
013746 
012746 
010600 
104417 
000526 
020127 
00100 7 
013746 
012746 
010600 
104417 
000514 
02012 7 
001007 



RDRX DISK KORMATThR 

GLOBAL ROUTINE DECLARATIONS 



000061 



SMor-1964 14:51:26 
5 -Mar -1984 14:40:58 



0000 1?G 
000001 



0000 * 1 

000014G 
000001 



000101 

00001t>G 
000001 



000201 

000020G 
000001 



000301 

000022G 
000001 



000401 

0000 30G 
000001 



000501 

0000 32G 
000001 



000601 





TRAP 


1/ 






BR 


23* 




b*; 


CMP 


R1.061 






BNE 


7* 






MOV 


EMSG,5TRUCTfl2. 


-(SP) 




MOV 


*1. (SP) 






MOV 


SP.RO 






TRAP 


17 






BR 


255 




7*: 


CMP 


R1.*71 






BNE 


8$ 






MOV 


FMSG. STRUCT f 14, 


-CSP) 




MOV 


♦1. (SP) 






MOV 


SP.RO 






TRAP 


17 






BR 


28$ 




8*: 


CMP 


R1.0101 






BNE 


9$ 






MOV 


EMSG.STRUCT»16, 


-(SP) 




MOV 


♦1. (SP) 






MOV 


SP.RO 






TRAP 


17 






BR 


28$ 




9$: 


CMP 


R1.02O1 






BNE 


10* 






MOV 


EMSG.STRUCK20, 


(SP) 




MOV 


*1. (SP) 






MOV 


SP.RO 






TRAP 


17 






RR 


28* 




10*: 


CMP 


Rl.»30l 






BNE 


11* 






MOV 


EMSG.STRUCT»2c\ 


(SP) 




MOV 


01, (SP) 






MOV 


SP.RO 






TRAP 


17 






BR 


28$ 




11*: 


CMP 


Ri.0401 






BNE 


12* 






MOV 


EMSG, STRUCT* 30, 


(SP) 




MOV 


*i, (SP) 






MOV 


SP.RO 






TRAP 


17 






BR 


28* 




12*: 


CMP 


R 1.0501 






BNE 


14* 






MCv 


EMSG. .STRUCT .32 , 


- i SP ) 




MOV 


01. (SP) 






MOV 


SP.RO 






TRAP 


1 / 




lMj 


BR 


28* 




I4t : 


CMP 


Rl.0601 






BNE 


lb* 





SEQ 0125 
VAX-11 Bliss-16 V4.0-579 Pa&« 22 

DISK *USER2 • [ t OUNG , FMT ]ZRQB4 , B 16 ; 3 ( 10 J 



206? 
2069 



SP.* 



SP,* 



SP.* 



SP.* 



IP.* 



i SP,* 



; SP.* 



2071 



2070 

2077 

20 79 



20 78 

2085 

208 7 



2086 
2093 

2095 



2094 
2101 

2103 



210? 
2109 

2U1 



2i ;o 

? 1 1 - 

211^ 



?::8 

?1?5 



J 1.0 



7RQB4 
REV C 

00044*? 
00044b 

00045,} 
000454 
000456 
000460 
000464 
000466 
0004 7? 

0004 76 
000500 
000502 
000504 
000510 
000512 
000516 
000522 
000524 

0O052t> 
000530 
000534 
000536 
000542 
000546 
000550 
000552 
000554 
000560 
000562 
000566 
000572 
000574 

0005 76 
000600 
000604 
000606 
000612 
000616 
000620 
000622 
000624 
000630 
000632 
000636 
000642 
000644 
000646 
000650 
000654 
000660 
000662 
000664 
000666 



PATCH 

013746 
012746 

010600 
104417 
000502 
020127 
001007 
013746 
012746 
010600 
104417 
0004 70 
020127 
001007 
013746 
012746 
010600 
104417 
0004 56 
020127 
001007 
013746 
012746 
010600 
104417 
000444 
020127 
001007 
013746 
012746 
010600 
104417 
000432 



RORX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

000034G 
000001 



000701 

000036G 
000001 



001001 

00004 OG 
000001 



004001 

C00046G 
000001 



002001 

000042G 
000001 



020127 003001 

001007 

013746 000044G 

012746 000001 

010600 

104417 

000420 

020127 

001007 

013746 

012746 

010600 

104417 

000406 

015746 

012746 

010600 

104417 

022626 

017766 



005001 

000050G 
000001 



000006G 
000001 



OOOOOOG 000002 





MOV 


EMSG.STRUCT*34, 




MOV 


01, -CSP) 




MOV 


SP.RO 




TRAP 


17 


15*: 


BR 


28$ 


16$; 


CMP 


R1.0701 




BNE 


18$ 




MOV 


EMSG.STRUCT+36, 




MOV 


01, -CSP) 




MOV 


SP.RO 




TRAP 


17 


17$: 


BR 


28$ 


18$: 


CMP 


Rl, 01001 




BNE 


20$ 




MOV 


EMSG. STRUCT *40. 




MOV 


01, -(SP) 




MOV 


SP.RO 




TRAP 


17 


19$: 


BR 


28$ 


20$: 


CMP 


Rl, 04001 




BNE 


22% 




MOV 


EMSG,GTRUCT*46, 




MOV 


01. (SP) 




MOV 


SP.RO 




TRAP 


17 


21$: 


BR 


28$ 


22$: 


CMP 


Rl, 02001 




BNE 


24$ 




MOV 


EMSG. STRUCT. 42, 




MOV 


01. (SP) 




MOV 


SP.RO 




TRAP 


17 


23$: 


BR 


28$ 


24$: 


CMP 


Rl. 03001 




BNE 


26$ 




MOV 


EMSG. STRUCT *44, 




MOV 


01; (SP) 




MOV 


SP.RO 




TRAP 


17 


25$: 


BR 


28$ 


26$: 


CMP 


Rl. 05001 




BNE 


27$ 




MOV 


EMSG.STRUCT*50, 




MOV 


01. (SP) 




MOV 


SP , RO 




TRAP 


w 




BR 


28$ 


2 7$: 


MOV 


EMSG. STRUCT *6, - 




MOV 


01, CSP) 




MOV 


5P.R0 




TRAP 


1/ 


^8$: 


CMP 


(SP)».(Sf 1 ). 




MUV 


h)RDRX,AUUR,2(SP 



5-Hor-1984 14:51:26 
5 -Mar -1984 14-40:58 



-CSP) 



VAX- 11 Bliss -16 V4. 0-5/9 
DISK*USER2j[Y0UNG.FMTJZRQB4,Bl6;3 



SP,* 



(SP) 



SP,* 



CSP) 



-CSP) 



-(SP) 



(SP) 



-CSP) 



(SP) 



SP.* 



SP,* 



SP,* 



SP.* 



SP , ♦ 

» SP , * 

! *,PC$S.REG 



SEQ 0126 
Page 23 
(10) 

2127 



2126 
2133 

2135 



2134 
2141 

2143 



2142 
2149 

2151 



2150 
2157 

2159 



2158 
2165 

2167 



2l6o 
2173 

217? 



2 J *4 
2184 



2183 



i/ -I t\ 



7RQB4 
REV C 

000674 
000700 
000 704 
000706 
000710 



RDRX DISK FORMATTER 
PATCH GLOBAL ROUTINE DECLARATIONS 



012700 
010077 
104444 
022626 
012601 
000207 



177777 
OOOOOOG 



K10 





5-Mor-1984 


14:51:26 




5 -Mar -1984 


14:40-58 


MOV 


#-l,RO 




MOV 


RO.SRDRX.ADDR 




TRAP 


44 




CMP 


CSP)*,(SP)* 




MOV 


CSP)*,R1 




RTS 


PC 





5EQ 012/ 
VAX -11 Bliss -16 V4.0 579 Page T'4 

DISK $USER?:f YOUNG. FMT ]ZRQB4 ,B16: 3 CIO) 



l *,RC$M.REG 
j RC$M.REG,+ 



19.30 



Routine Sije: 230 words, Routine Base: $CQDE$ * 0250 
Maximum stack depth per invocation; 7 words 



2197 



l l s\ 



L10 



ZRQB4 




REV C PATCH 


i 2198 


1 


2199 


1 


; 2200 


1 


! 2001 


1 


; 2202 


1 


{ 2203 


1 


; 2201 


1 


2205 


1 


; 2206 


1 


j 220? 


1 


; 2208 


1 


j 2209 


1 


; 2210 


1 


; 2211 


1 


; 2212 


1 


; 2213 


1 


; 2214 


1 


; 2215 


1 


; 2216 


1 


; 2217 


1 


; 2218 


1 


; 2219 


1 


: 2220 


i 


; 2221 


1 


J 2222 


1 


; 2223 


1 


{ 2224 


1 


; 2225 


1 


; 2226 


1 


; 2227 


1 


i 2228 


1 


2229 


1 


; 2230 


1 


; 2231 


1 


; 2232 


1 


j 2233 


1 


; 2234 


1 


: 2235 


1 


; 2236 


1 


: 2237 


1 


; 2238 


1 


2239 


1 


; 2240 


1 


j 2241 


1 


i 224? 


1 


; 2243 


1 


; 2244 


1 


f 2245 


1 


; 2246 


1 


; 224 7 


1 


; 2248 


1 


; 2249 


1 


; 2250 


1 



RORX DISK FORMAT TLH 

GLOBAL ROUTINE DECLARATIONS 



5-Mar~1984 14:51:26 
5~Mor-1984 14:40:58 



„ . seq 01?8 

VAX-11 Biiss-16 V4. 0-579 Page 25 

DISK$USER2: [YOUNG. FMT]ZRQB4,B16j3 (11) 



globel routine DUP$I_SERVICE : INTJ.NK$TYP novalue ■ 



ISignals receive queue entry 



Functional Description * 

The transmission of a message will result in a host interrupt if 
only if interrupts were armed suitably during initialization and 
of the following conditions has been met: 

1, The message was a command with F»l and the port's fetching It 
caused the command ring to transition from full to not -full 
(This interrupt means that the host may place another command 
in the ring, ) 

2, The message was a response- with F*l and the port's depositing 
It caused the response ring to transition from empty to not - 
empty. (This interrupt means that there is a response 



and 
one 



the 



(This interrupt 
host to process.) 



for 



3. The port is interfaced to the host via a bus abapter and a 
commnnd requires the port/controller to re access a given 
location during data transfer, (This interrupt means that 
the port/controller Is requesting the host to purge the 
indi 'rated chanel of the bus adapter.) 

This interrupt service routine is entered when any of the above 
conditions occure. When entered >t will be determined what type 
interrupt was executed and take the necessary action. 

Formal Parameters : 
none 



Implicit Inputs : 
Nrd^slot: 



Implicit Outputs 
Ret_stntus: 



0ut$std„buf: 



Completion Coo'es j 
none 



A global flag which points to the nevt receive descriptor 
slot where the port /controller should be polling on an.1 
where to expect the first response packet to process. 

This global flag is the mechinism by which tSese DUP 
and UQ Port protocol routines pass status cooe back to 
to the host routine's requesting communications Over 
the established connections. The status returned is 
decoded by the caller to determine t ? an error or bad 
response pocket status was discovered. 



This buffer is used to save all commands issued 
port and are considered outstanding when in this 
This interrupt service routine will Indicate this 
is nolonger outstanding by setting the rec_fl« 
slot matching this response envelope command r< 



-ef 



to the 
buffer . 
command 

in the 
number. 



M I t \ 



M.1.0 



ZRQB4 

REV C PATCH 



2251 
225? 
2253 
2254 
2255 
2256 
2257 
2258 
2259 
2260 
2261 
2262 
2263 
2264 
2265 
2266 
2267 
2268 
2269 
2270 
2271 
2272 
227? 
2274 
2275 
2276 
227/ 
2278 
2279 
2280 
2281 
2282 
2283 
2284 
2285 
2286 
228 7 
2288 
2289 
2290 
2291 
2292 
2293 
2294 
2295 
2296 
2297 
2298 
2299 
2300 
2301 
2 302 
2303 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

Side Effects : 
none 



beg ! n 

local 

TFMP, 

FOUND „CMD, 
REF^NUM; 



5-Mor-l984 14:51:26 
5-Mar-l984 14:40:58 



SEQ 0129 
VAX-11 BlisK-16 V4, 0-579 Page 26 

DI5K$USER2;[Y0UNG,FMT]ZRQB4.B16j3 (11) 



{Holds nrd_slot ♦ 1 
{Found command flag 
•Stores response packets 



reference 

cmd ref number 



Before this Interrupt service routine does anything 
look at the SA register for any port fatal errors 
posted. If there ore errors posted then report the 
error and kick the bucket. 



f .RDRX ADDR [RCSA, ERR BIT] 
then 

begin 

RET^STATUS - PFE^CODE} 

DECODE O; 

return; 

end} 



•Are there any errors posted 



•Indicate the error type 

.'Decode and print the error 

{Just for show. Decode will kill It 



See what kind of interrupt got us here. 
We could hove a: 

1. Response ring transition Interrupt. 

2. Send ring transition interrupt. 

3. A adaptor purge request interrupt (which is 
illegal running under the PDP-11 Diagnostic 
supervisor and is flagged as a fatal controller 
error. ) 

4. Or an unknown Interrupt not known by this program 
which also results in a fatal controller error 



Check to see i f we get here 
transition interrupt. Thi 
most frequent interrupt so check 



because of a response ring 
is more likely to be the 



it first. 



f .HEAD^AREA [RSP_INT] 
then 

HEAD.AREA [RSP.INT] * ^ERUSi 



{Clear the interrupt indicator location 



M'l (\ 



ZRQB4 




rev C PATCH 


; .'304 


-* 
%* 


; 2305 


3 


i 2306 


3 


; 230 7 


3 


j 2308 


3 


; 2309 


3 


; 2310 


3 


; 2311 


3 


j 231? 


3 


; 2313 


3 


; 2314 


4 


; 2315 


4 


; 2316 


4 


; 2317 


4 


; 2316 


3 


i 2319 


3 


2320 


3 


; 2321 


3 


; 25dd 


3 


; 2323 


3 


: 2324 


3 


: 2325 


3 


; 2326 


3 


; 232 7 


3 


; 2328 


3 


; 2329 


4 


; 2330 


4 


; 2331 


4 


; 2332 


4 


; 2333 


4 


; 2334 


4 


; 2335 


4 


; 2336 


4 


; 233 7 


4 


; 2338 


4 


2339 


4 


; 2340 


4 


; 2341 


4 


; 2342 


4 


; 2343 


4 


; 2344 


4 


: 2345 


4 


; 2346 


4 


234? 


4 


; 2348 


4 


; 2349 


4 


; 2350 


4 


; 2351 


4 


i 2352 


4 


; 2353 


4 


: 2354 


4 


i 2 '55 


4 


; 2356 


4 



N10 



RDRX DISK FORMATTER 
GLOBAL ROUTINE DECLARATIONS 

GET..NRD C )j 



5-Mar~1984 14:51:26 
5-Mar-1984 14:40:58 



SEQ 0130 
VAX-11 Bliss-16 V4. 0-579 Page 27 

D ISK * USER2 : [ Y OUNG , FMT ] ZRQB4 . B 16 j 3 C 11 ) 



•Get the resp slot location to process 



Check the host protocol for being out of sequence 
with the controller by making sure that this slot 
is owned by the host (meaning that there Ss a resp 
envelope at this ring slot to process, 



if .RECEIVE RING 
then 

begin 

RET„STATUS » 

DECODE C ){ 

return ; 

end: 



[.NRD^SLOT, OWN.BII] negu H0ST..0WNEQ J Is this owned by host 



PSE^CODE; 



! Host/port is out of sequence 
♦Load a "Port sync error" code 
•Report the error and kick the bucket 
! Just for show Decode kills it 



Per DUP protocol once interrupted due to a response ring 
interrupt, the host code should process all response packers 
found In the response ring. This while loop will continue 
to process the response packets in the response ring until 
none remain. 



while TRUE do 
begin 
BREAK} 



.•Process all response packets in ring 
•Look for control c's 



Load the Reference structure "Ret_en$ad" with the address 
of this response envelope to process (The minus *o'4' is 
done to address the first word in the envelope packet 
and is equal to location "text -4"). 

RET^EN$AD - C.RFCE <:VE_RING [.NRD..SL0T, LO.ENJADI) - *o'4'j 
Test the ~nd packet for its possible three end types. 



End message opcodes 



OP END) 



commands 
field. The 
message contains just the end message flag ( i 
field. The serious exception opcode shown abo 
in its opcode field. 



(also called endcodes) are formed by adding the end 
message ?lag to the command opcode. For example, a READ 
message contains the value OP. RED ♦ OP . END in its opcode field. The Invalid 
command end message contains just the end message flag ( i .e. » OP, END) in 
its opcode 



>ve ( 



OP. SEX • 



Commands opcode bits 6 and 7 indicate the type of message (command, end or 
attention message. Command opcodes bits 3 through 5 indicate the command 
category (immediate, sequential or no -sequent • al) and whether or not the 
command includes a buffer descriptor, 

See MSCP document appendix "A-l NOTE:" for more information on this topic, 



m i 



<TRQB4 




REV C PATCH 


; 23V 


4 


j 2358 


4 


j 2359 


4 


i 2360 


4 


; 23b 1 


5 


5 23b2 


5 


; 23t>3 


5 


5 23M 


5 


; 2365 


5 


; 236b 


5 


; 2367 


5 


; 2368 


5 


; 236'> 


s 


; 23 70 


s 


; 23 U 


5 


; 23 72 


5 


: 23 73 


5 


; 23 ,'4 


5 


; 23 75 


5 


; 23 76 


5 


: i?377 


5 


; 2378 


5 


; 23 79 


5 


; 2380 


5 


; 2381 


6 


; 2582 


6 


i 2383 


6 


; 2384 


6 


; 2385 


i 


; 2386 


7 


; 2387 


7 


; 2388 


■» 


; 2 339 


6 


; 2390 


6 


; 2391 


5 


; 2 392 


5 


; 2393 


r > 


i 2394 


s 


; 2W* 


5 


i 2396 


5 


; 239; 


5 


; 2393 


5 


; 2399 


6 


; 24 00 


6 


; 2401 


8 


; 2402 


7 


; 240< 


f. 


24 04 


; 


; 2405 


7 


; 2406 


/ 


; 240.' 


' 


; 24 OM 


* 


2409 


6 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



5 Mar 1984 14 i 51 1 26 
5-Mnr-1984 14;40:58 



r iEQ 01 M 
VAX -11 Bliss 16 V4.0 5/9 p tto e ,>% 

DISKfUSFR?i[Y0UNG,FMTURQB4.B16|3 f 1 1 j 



aelectoneu .RET .EN$AD ITyPjMSU) of 
set 

(ENDIMSG) : 
begin 



JSelect the endpacktt si/e 
tin this an end cod« pncket 



Select off of the endcode to make iuri the communications 
mechanism transfered the correct rujmber of byte for this 
end packet. If th ! • number of by tee tranefered Is not 
correct for the command* act<i packet then load the error 
code into return status, call decode to report the 
error and kick the bucket and die, This endcode is formed 
by add i no, the end message flag So' 200' to the commands 
opcode. 



selectoneu .RET..ENIAD [ENOCODE] of 
set 



"RECEIVE DATA'* command end packet 



[E0P_RED) s 
begin 

• f .RET.FNfAD [M5G.. LENGTH) gtr u FS/ RrD 

than 



!Is the byte count correct 



beoin 

RET_STATUS » ML E.. CODE I 'Return a "ff*««aoe length error code" 



DECOOE Oi 

returni 

end} 



JReport the error nno* u ;<;». the bucket 
IJjst for show. Decode kills It 



end i 



"SEND DATA" command end packet 

"SET CONTROLLER CHAR" command 9r\d packet l same opcode) 

[EOP SEOJ j 

\ [EbP.hCO i 
begin 

if (not ((.MM tNIAD [ MSG . LENGTH] leou F 5/ SK) ) or .Ms the byte count correct 
(JUT FNfAO I MSG LENGTH) eqlu F r ./ SCO) ) 

then 

beoin 

REt. STATUS - MLt.COOfrt 'Return a "message length error code" 



DECODE ( >i 

returni 

endj 



.'Report the error and ^ick the bucket 
JJunt for show. Decode kills it 



i i 



/R0B4 




REV C PAICH 


; .*»410 


5 


5 .1411 


5 


; ^41> 


S 


; .Ml? 


5 


; 2414 


5 


; 24 IS 


5 


j 2416 


6 


; 24 1; 


6 


; 2419 


6 


{ 241^ 


6 


2420 


7 


5 2421 




j 2422 






; 2423 




; 2424 


6 


; 2425 


6 


; 2426 


5 


; C 2427 


5 


; C 2428 


5 


j C 2429 


5 


; C 2430 


5 


j C 2431 


5 


S C 2432 


5 


; C 2433 


5 


; C 2434 


5 


{ C 2435 


5 


; C 2436 


5 


; C 2437 


5 


; C 2438 


5 


; C 2439 


5 


t C 2440 


5 


: C 2441 


5 


; C 2442 


5 


; 244 3 


5 


; 2444 


5 


; 2445 


5 


2446 


5 


; 244 7 


5 


; 2448 


6 


; 2449 


6 


j 2450 


6 


s 2451 


6 


; 2452 


7 


; 2453 


7 


2454 


7 


; 2455 


7 


: 2456 


6 


; 2457 


6 


; 245* 


5 


; 2459 


V 


; 2460 


5 


; 2461 


5 


j 2462 


5 







C 1 1 



RDRx DISK y ORMATItH 

GLOBAL ROUTINE: DECLARATIONS 



S Mar 1984 14; 51:26 
5 Mar 1984 14t40j58 



VAX -U Bliss 16 V4.0 5/9 * Pa©*'' 29 

DISK*USfcR2i[rOljNC3.FMTlZRQB4.B16|3 f 11; 



end i 



" GET DUST STATUS" command end packet 



[EOP..GDS] 
begin 



!Is the byte count correct 



*( 



!f .RET.ENIAO [MSG ..LENGTH] n«qu ESZ..GDS 

then 

begin 

RET .STATUS " MLE..CODEj JRetum a "message length error code" 

DECODE l)i 'Report th* error and tick the bucket 

return j JJust for show, Decode kills it 

end » 

end i 

"EXECUTE SUPPLIED PROGRAM" command end pocket 



[EOP.ESP] i 
begin 



! Is the byte count correct 



)* 



if ,RET_EN$AD [MSG ..LENGTH ] neou ES* ESP 

then 

begin 

RET. STATUS « MLE. CODE i 'Return a "message length error code" 

DECODE ()j 'Report the error ind kick the bucket 

return j JJust for show, Decode kills it 

endt 

end j 

"EXECUTE LOCAL PROGRAM" command ^f\<i packet 

[EOP.ELP] : 
begin 

If .RET.ENtAD [MSG LENGTH] nequ ES/ ELP 
then 



!Is the byte count correct 



begin 

RET. STATUS • MLE . CODE t {Return a "message length error code" 



DECODE ( )| 
return j 
endj 



! Report the e^ror and kick the bucket 
JJust for show, Decode kills ?t 



end j 



"ABORT PROGRAM" command end packet 



[) 1. 1. 



7RQ64 




REV C PATCH 


t 2463 


5 


; 24b4 


6 


i 2465 


6 


; 2466 


6 


; 2467 


b 


I 2468 




; 2469 


-> 


; 24/0 


i 


; 2471 




: 24 72 


6 


; 24/3 


6 


; 24 74 


5 


; C 24 ?5 


5 


; C 2476 


5 


; C 2477 


5 


j C 24 78 


5 


; C 24 79 


5 


; C 2480 


5 


; C 2481 


5 


; C 2482 


5 


; C 2483 


5 


; C 2484 


5 


; C 2485 


5 


J C 2486 


5 


; C 2487 


5 


; C 2488 


5 


: C 2489 


5 


; C 2490 


5 


; 2491 


5 


2492 


5 


J 2493 


5 


j 2494 


5 


; 2495 


5 


; 2496 


5 


S 2497 


5 


; 2498 


5 


; 2499 


6 


; 2500 


6 


; 2501 


6 


; 2502 


6 


; 2503 


5 


; 2504 


5 


; 2505 


5 


; 2506 


5 


; 2507 


5 


; 2508 


5 


; 2509 


5 


s 2510 


h 


; 2511 


h 


; 2512 


6 


; 2515 


h 


; 2514 


5 


; 2515 


5 



RDRX DISK rORMATrt-M 
GLOBAL ROUTINE DECLARATION! 



5 Mar -1984 14:51:26 

5 -Mar -1984 14:40:58 



[FOP ABT] 
begin 



if .RET..ENIAD [MSG.LENGTH] ntqu ESZ.ABT 
then 

b«o!n 



VAX-H Bliss 16 V4.0 5/9 
DlSKIUSER2|[rOUNG.FMT]ZRQB4,B16| 



Jig the byte count correct 



5EQ 015 5 , 
Page 30 

J an 



RET, STATUS - MLE„CODE| 'Return a "message length error code" 



DECODE C)| 
return i 
endi 



{Report the error 9r\& kick the bucket 
{Just for show, Decode kills it 



»( 



end: 
"ON LINE" command er\<S packet 

[E0P_ONL] : 
begin 

if >RET,EN$AD [MSG.LENGTH] ncqu ESZ ONL 
then 



•Is the byte count correct 



begin 

RET^STATUS 
DECODE ( )j 
return j 
endj 



MLE^CODEj {Return a "message length error code" 
{Report the error and kick the bucket 
{Just For show. Decode kills It 



)* 



endj 



The "OP.ENO" end message flag all by Its self telle 
us that the controller is flagging us of an Illegal 
command sent over the connection, Error and U I ck the 
bucket. 



rOPJ.ND) : 
begin 

RET_STATUS 
DECODE ()| 
return j 
end j 



IVCCODfc ; 



The controller is telling us that a serious exception 
has occured. Error and kick the bucket. 



[EOP.SEX) : 

begin 

RET. STATUS 
DEC00£ ()| 
return j 
endj 



SEX CODE j 



I- 1. 1 



ZRQB4 




REV C PATCH 


: 2516 


5 


} 2517 


5 


; 2518 


5 


; 2519 


5 


; 2520 


6 


; 2521 


6 


; 2522 


6 


i 2523 


6 


{ 2524 


5 


; 2525 


5 


; 2526 


5 


; 252? 


5 


; 2528 


5 


; 2529 


5 


; 2530 


5 


; 2531 


5 


; 2532 


5 


; 2533 


5 


; 2534 


5 


; 2535 


5 


i 2536 


5 


; 2537 


5 


; 2538 


5 


j 2539 


5 


j 2540 


5 


; 2541 


5 


2542 


5 


I 2543 


5 


; 2544 


5 


j 2545 


5 


; 2546 


5 


; 2547 


5 


5 2548 


6 


; 2549 


6 


; 2550 


6 


; 2551 


6 


i 2552 


6 


; 2553 


5 


j 2554 


5 


; 2555 


5 


; 2556 


5 


; 2557 


5 


: 2558 


5 


2559 


5 


; 2560 


5 


; 2561 


5 


; 2562 


5 


; 2563 


h 


; 2564 


6 


; 2565 


6 


; 2566 


6 


; 2567 


5 


; 2568 


5 







RORX DISK FORMAT Tt.R 

GLOBAL ROUTINE DECLARATIONS 



5-Mar~1984 14:51:26 
5-Mar-1984 14:40-50 



SEQ 0134 
VAX-11 Bllss-16 V4. 0-579 Page 31 

DISK*USER2:[Y0UNG,FMnZRQB4,B16{3 Cll) 



I Unknown end packet endcode type 



[otherwise] : 
begin 

RET STATUS 
DECODE C)| 
return j 
end j 

tesi 



UEC..C0DF ; 'Return an "unknown end code" 

!Report the error and kick the bucket 
{Just for show. Decode kills it 



The port /controller sent the endpacket over the connection 
with out any problems. Now find this commands owner in the 
outstanding buffer and indicate to them that the command 
has been received. 



REFJYUM - .RET_EN$AD [CMD_LREF]j 



!Gct this rec packets cmd re^ number 



Search the outstanding command buffer for this commands 
reference number. 

If found, load the buffer location with the ret..en$ad 
and set the received flag to signify that this command 
has been received by this interrupt service routine. 

F0UND_CMD - FALSE? 'Clear the found cmd flag 

incru 5 from to REC .ALLOCATE - 1 do 'Search the buffer 

if ,OUT*STD_BUF [.i, CMD.REF] eqlu .RF.F.NUM J Is this the comd ref 
then 

begin 

OUT*STD_BUF [,i, REC..FLG} - TRUE} JIndicate command is received 

OUTiSTD.BUF [.I, ENV„ADR] • ,RET_fcN*ADj 'Return envelope adrs 

F0UND_CMD - TRUE j .'Indicate it was found 

exitloopj JExit the loop 

endj 



If the search through the command ref 
buffer failed to find this commands cmd 
reference number then die. 



f not .FOUND CMD 
then 

begin 

RET_STATUS • PSE CODE; 

DECODE ( )| 

return; 

end) 



F 1 1 



ZRQB4 




REV C PATCH 


j ^569 


4 


5570 


4 


2571 


4 


; 2572 


4 


; 2573 


4 


I 2574 


4 


2575 


4 


; 2576 


4 


; 2577 


5 


; 2578 


5 


2579 


5 


; 2530 


5 


; 2581 


4 


2582 


4 


5 2583 


4 


; 2584 


4 


; 2585 


4 


; 2586 


4 


t 2587 


4 


2588 


4 


2589 


4 


; 2590 


5 


; 2591 


5 


2592 


5 


j 2593 


5 


; 2594 


4 


; 2595 


4 


; 2596 


4 


; 2597 


4 


; 2598 


4 


: 2599 


4 


; 2600 


4 


; 2601 


5 


: 2602 


5 


; 2603 


5 


; 2604 


5 


2605 


4 


; 2606 


4 


; 2607 


4 


j 2608 


4 


l 2609 


4 


: 2610 


4 


; 2611 


4 


; 2612 


4 


; 2613 


4 


; 2614 


4 


; 2615 


4 


; 2616 


4 


; 261? 


4 


; 2618 


4 


; 2619 


4 


; 2620 


4 


i 2621 


4 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

end; 



5-Mar~1984 
5 -Mar -1984 



SEQ 0135 
14:51:26 VAX-11 Bllss-16 V4. 0-579 Page 12 

3 4:40:58 DISKJUSER2: [ YOUNG. FMT 1ZRQB4.B16 j 3 C 11 j 



•End of ENDJMSG processing 



The set controller characteristics command 
disabled the reporting of attentions messages 
so treat this as a fatal error and d?e. 



JAttention end message type 



[ATTJMSGJ : 
begin 

RET. STATUS - ATN CODE} 
DECODE C)j 
return; 
ends 

It doesn't moke any since For this end message 
packet not to have the end message flag added 
to this command opcode as treat i t as a fatal 
error and die. 



[CMDSMSGl : 
beg i n 

RET STATUS * CMD CODE: 
DECODE O: 
return: 
end; 

This tr\6 code type is of unknown origin so 
treat is os a fatal error and die. 



! Unknown message type code received 



{otherwise! ; 

beg i n 

RET_STATUS - UEC CODE; 

DECODE ( ); 

return; 

end: 
tes; 



Before we leave put this receive envelope message lenQt* 
field back to the envelope size. in bytes (Per UQ Spec). 
This size does not include the 2 UQ's words proceeding the 
command text area. 

RET_EN$AD [MSG.LENGTH] - RQ„SIZE*2} 

Return this receive slot descriptor bock to 
the port to fullfill my part of the protocol, 

RECEIVE _RING [.NRD.SL0T, OWN .BIT] » PORT. OWNED: 

Look at the ne*t response ring descriptor. If its 



ZRQB4 




REV C PATCH 


j i?622 


4 


I 2623 


4 


; 2624 


4 


; 2625 


4 


l 2626 


4 


; 2627 


4 


{ 2628 


4 


; 2629 


4 


: 2650 


4 


: 2631 


4 


; 2632 


4 


; 2633 


4 


; 2634 


4 


; 2635 


4 


; 2636 


4 


; 2637 


4 


; 26 38 


4 


; 2639 


4 


j 2640 


4 


{ 2641 


4 


♦ 2642 


4 


; 2643 


4 


; 2644 


3 


; 2645 


3 


; 2646 


3 


; 264 7 


3 


l 2648 


? 


; 2o49 


3 


; 2650 


3 


; 2651 


3 


: 2652 


■j 

V. 


2653 


2 


: 2654 


2 


; 2655 


2 


; 2656 


2 


; 265 7 


2 


j 2658 


2 


; 2659 


2 


i 2660 


2 


; 2661 


*> 


; 2662 


2 


2663 


2 


; 2664 


'j 


; 2665 


2 


5 2666 


2 


; 266 7 


3 


; 2668 


3 


; 2669 


3 


; 26/0 


L 


{ 26 71 


*, 


; 2672 


2 


; 267 3 


> 



till. 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



5-Mar-l984 14:51:26 
5 -Mar- 1984 14?40;58 



VAX -11 Bliss 16 V4.0 5 79 
DISI<$USER2j[ YOUNG. FMT]/RQB4,B 16 { 



r >LU 0136 



Page 



f 11) 



! host owned then continue this process else exit the 
! loop. First see if che ring reference has wrapped 
I around to the top of the ring, 



if .NR0.SL0T ♦ 1 gtru REC ALLOCATE - 1 
then 

TEMP * ZERO 
else 

TEMP - .NRD^SLOT ♦ 1; 



!Has the ring ref wrapped around 
!Wrap It back to jrero dsc slot 
'Look at the next seq dsc slot 



! Now see if the next receive descriptor slot is 
I host owned. 



if .RECEIVE..RING [.TEMP* 0WN„BITJ eqlu HOST OWNED !Are we done yet 
then 

GET_NRD () !Get the next resp desc to process 

else 

ex it loop j .'No more to do so exit 



end j 



•End of WHILE LOOP 



All response ring descriptors have been with out any 
detected errors so return to the main host code with 
an pass return code. 



return RET.STATUS - PAS CODE 5 
end: 



•Return a 'pass code 
END OF* RESPONSE RING INTERRUPT PROCESSING*** ********+**♦***♦* 



A send ring transition interrupt could happen if at 
some date only one descr'ptor slot »s allocated for 

commands. 

Clear the interrupt indicator iF this is true and do 
a return with no errors. 



f .HEAD ..AREA [CMD..1NT ] 
then 

beg I n 

HEAD_AREA [CMD..INT] • /ER0 { 

return? 

end: 



!Is this a com ring transition interrupt 



.'Clear out the indicator 
•Continue on with the host code 



i************************^^ or COMMAND RING INTERRUPT PROCESSING* ♦**♦♦*****♦ ***** ** 



2674 2 



ii-i >» 



H 1. 1 



2RCMJ4 

rev c 



PATCH 



2675 
26 76 

267 7 

26 78 
2679 
2680 
2t>81 
2682 
2685 
2684 
2685 
2686 

268 7 
2688 
2689 
2690 
2691 
2692 
2693 
2694 
2695 
2696 
2697 
2698 
2699 
2700 
2701 
2 702 
2703 



2 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



5 -Mar -1984 14:51:26 
5 -Mar -1964 14{40;58 



SEQ 013/ 
VAX-11 BUss-16 V4. 0-579 Page 34 

D I SK JUSER2 s [ YOUNG . FMT ] ZRQB4 , H 16 j 3 ( 1 1 ) 



Check to sec if an adaptor purge is being requested 
by the port/controller in order to complete excution 
of a issued command. Remember that this Is ii legal 
during PDP-11 formatting and is concidered to be a 
fatal error. 



if .HEAD.AREA [ADP_CH] nequ ZERO 
then 

begi.t 

RET STATUS ' APR CODE \ 

DECODE ( ) { 

return; 

tr\dt 



\ Is the on adaptor purge request? 



•Indicate the error code 

{Report the error and kick the bucket 

•Just for show, Decode kills it 



i ***»********«> + 4 > *********END OF ADAPTOR PURGE INTERRUPT PROCESSING********************** 

The host program has been interrupted by an unknown interrupt 
source if the routine program flow reaches here. 

Load the error code Into return status and call decode to take 
appropriate action. 



RET. STATUS 
DECODE C)i 
return j 
endi 



UIN^CODEt 



000000 010046 



000002 
000004 
000006 
000010 
000012 
000014 
000020 
000024 
000026 
000034 
000036 
000042 
000050 
000052 
000056 
000062 
000066 
0000 .'2 
000074 



010146 
010246 
010346 
010446 
010346 
013700 
016046 
100004 
012/37 
000557 
013 700 
032760 
001002 
00015 7 
005060 
004 7 37 
013 700 
006 300 
006 300 



000000G 
000002 

000021 0000000 

OOO00OG 
000001 00000b 

002020' 
000006 
000026 ' 
OOOOOOG 





.SBTTL 


DUPU. SERVICE 


DUP*I 


SERVICE:: 






MOV 


RO, -(SP) 




MOV 


Ri. (SP) 




MOV 


R2, -(SP) 




MOV 


R3.-CSP) 




MOV 


R4, (SP) 




MOV 


R5, (SP) 




MOV 


rdrx.addr.ro 




MOV 


2CR0), -(SP) 




BPl 


u 




MOV 


02 l.RET .STATUS 




BR 


14$ 


1$: 


MOV 


He ad.area.ro 




BIT 


01.6CR0) 




BNE 


2 J 




JMP 


26$ 


2$: 


CLR 


b(RO) 




JSP 


PC.Gfr T.NRD 




MOV 


nrd.slot.ro 




AM 


R0 




A51 


RO 



198 



♦.RC5S.REG 



!269 



22 ' < 
2 300 



2V- 
2304 



1 i i 



1 1 1. 



/RQB4 

REV C PATCH 



0000 76 
00010c? 

000110 
0001 12 
000120 
000122 
000124 
000130 
000132 
000134 
000140 
000144 
000152 
000156 
000162 
000164 
000166 
0001 70 
000172 
000174 
000176 
000202 
OU0206 
000210 
000212 
000216 
000222 
000224 
000230 
00023? 
OO0240 
000242 
000246 
000250 
000254 
000256 
00026? 
000264 
000266 
000272 
0002 74 
000300 
000302 
000306 
000310 
000314 
000316 
00032? 
000324 
000330 
000332 
0003*6 
000540 



0t>3 700 
032760 
001404 
012737 
00057/ 
10442? 
013700 
006300 
006300 
063700 
01103/ 
162737 
013701 
116100 
006200 
006200 
006200 
006200 
006200 
006200 
042700 
02002 7 
001130 
005002 
156102 
020227 
001007 
021127 
101462 
012737 
000527 
02022 7 
00100 7 
021127 
101450 
021127 
001445 
000762 
02022 7 
001003 
021127 
0007 70 
020227 
001003 
021127 
000762 
020227 
001003 
02112 7 
000754 
02022 7 
001004 
012737 



RDRx DISK f-ORMATTt-R 

GLOBAL ROUTINE DECLARATIONS 

OOOOOOG 
100000 000002 



000061 OOOOOOG 
OOOOOOG 



OOOOOOG 

OOOOOOG 

000004 OOOOOOG 

OOOOOOG 

000014 



5 Mar 1984 14 j 51; 26 
5 -Mar -1984 14:40:56 



SEQ 0138 
VAX 11 Bliss- 16 V4 .0-5/9 Page 

DlSl<$UStR2j[ rUUNG,F'MT]ZRQB4,B16;3 



177774 
000002 



000014 
000205 

000060 

000071 OOOOOOG 

000204 

000060 

000034 

000201 
000026 
000203 
000020 
000206 
000014 
000200 
000701 OOOOOOG 





ADD 


RECEIVE, RING, RO 




BIT 


01O0O00.2CR0) 




BEQ 


4$ 


3$: 


MOV 


061, RET. STATUS 




BR 


21$ 


4$: 


TRAP 


?2 




MOV 


NRD.SLOT.RO 




ASL 


RO 




ASL 


RO 




ADO 


RECEIVE.RING.RO 




MOV 


CRO),RET.EN$AD 




SUB 


04 t RE T .EN$AD 




MOV 


RF.T.fcNSAD.Rl 




MOVB 


14CRD.R0 




ASR 


RO 




ASR 


RO 




ASR 


RO 




ASR 


RO 




ASR 


RO 




ASR 


RO 




BIC 


0177774, RO 




CMP 


R0.02 




HNF 


19$ 




CLR 


R2 




BISB 


14CRD.R2 




CMP 


R2.0205 




BNE 


6$ 




CMP 


CRD ,060 




BLOS 


15$ 


5$: 


MOV 


0/1. RET. STATUS 




HR 


21$ 


6$: 


CMP 


H2.0204 




BNE 


8$ 




CMP 


(Rl),060 




BLOS 


15$ 




CMP 


CR1 ),034 


7$: 


BEQ 


15$ 




BR 


5$ 


»$: 


CMP 


R2.0201 




BNE 


9$ 




CMP 


(Rl), »?6 




BR 


ft 


9$: 


CMP 


R2.0203 




BNE 


10$ 




CMP 


(Ri),020 




BR 


7$ 


10$: 


CMP 


R2.0206 




BNE 


11$ 




CMP 


CRD. 014 




HR 


7$ 


nu 


CMP 


R2 , 0200 




UN* 


12$ 




MOV 


* 701.HU .STATUS 



an 



?'.15 
2316 
2329 
2337 



235 7 



2360 

23'M 
2380 
2383 

2386 

238 7 

239 7 

2401 

2402 

2405 
2415 

24 1 8 

244 ' 

24*> 3 
24t^6 
24 ^ 
2500 



t : 



ZRQB2 




RF.V C PATCH 


: 1 70b 


1 


i 170 7 


V. 


1 706 


"1 

C 


; 1709 


"> 


1710 




; 1711 


i . 


: in? 


-y 


1 17 1 S 


> 


j 1714 


2 


j 171S 




; Wlb 


■* 
%.'. 


; 171 : 




; 1718 




; 1714 


> 


; 1 JVO 


■1 


1721 


i 


; 1 7?;? 


2 


; 172* 


-* 

c 


; 1724 


2 


; 172b 


2 


; 1726 




; 1/27 


2 


i !/.?« 


-> 


; 1729 


2 


j 1750 


2 


i 1751 


c 


; 1752 


^) 


; 1755 


1 


; 1754 




; 175b 


t". 


{ 1756 


2 


; 1757 


~> 


1758 


2 


i 1 7Vi 


t. 


; 1740 


2 


; 1741 




; 1 742 




; 1/4 5 




; 1 744 




; 174b 


'■» 


; 1746 


7 


; 174 7 


5 


j 1748 


5 


i 1 749 


5 


1 7b0 


5 


; Wbl 




1 7b2 


■t 
• 


; 17b 5 


2 


; 1 7b4 


■ i 


; 1 7SS 


L. 


; 1 r,t 


") 



b-r1ar-lS84 
b -Mar -1984 



14:46:32 
14 j 39: 06 



RDRX DISK FORMATTER 
INITIALIZE SECTION 

rfsbttl 'INITIALIZE SECTION 1 
BGNINIT; 



The initialisation code is executed ot the beginning of every 
sub -pass and is primarily used for requesting P_ Tables. Any 
other set-up type functions may also be performed in the init 
code. 

The initialize cod* is executed under five conditions. 1here 
are supervisor event flags that are used to let the diagnostic 
know under which condition the exec jt ion Is taking place. The 
event flags are read using the "READEF *' macro. 

The conditions under which the Init code Is e*ecuted and the 
corresponding event flags are: 



SEQ 0062 
VAX -11 Bliss 16 V4.0-S79 Page 11 

DISK JUSER2 : [ rOUNG . FMT ] ZRQB2 . B 16 ; 2 (9) 



START COMMAND 
RESTART COMMAND 
CONTINUE COMMAND 
POWERDOWN/POWERUP 
NEW PASS 

Example of event flag use: 



Ef" .START 
EF. RESTART 

EF, CONTINUE 
EF.PUR 

EF.NEW 



if READEFCEF, START) then 
START^FLAG - lj 



First .rend the event flog EH „PWR to see 
if this init code is being performed due 
to a system power fail, If it is then 
report the incident to the operator and 
abort the DM machine and further execution 
of this program. 



f READEF (EF PWR ) 
then 

begi n 

PRINTF 

PRINTF 

WRT_RDRX (RCIP, RC_ALL, ZERQS)i 

DOCLN; 

end} 



rPUR 



(AB0_MSG) 



MSC)j 



•Is the PUR event flag set 

.•Report the incident and abort 
{Power fail print message 
.'Aborting program message 
.'Abort DM code execution 
S Abort further program execution 



1 7b8 2 



See if the DRS commands START or RESTART were used to start 
this formatting session, tf either of them were used then 
start the formatting session at logical unit ^ero. 



Kll 



ZRQB4 




RORX DI < 


3K FORMATTER 






5-Mar- 


REV C PATCH 


GLOBAL ROUTINE DECLARATIONS 




5-Mar- 


000622 


000137 


001306' 






JMP 


4$ 


000626 


005037 


OOOOOOG 




25$: 


Cl.R 


RET. STATUS 


000632 


000427 








BR 


30$ 


000634 


013700 


OOOOOOG 




26$: 


MOV 


HEAD. AREA, RO 


000640 


032760 


000001 


000004 




BIT 


tfl,4(R0) 


000646 


001403 








BEQ 


27$ 


000650 


005060 


000004 






CLR 


4(R0) 


000654 


000416 








BR 


30$ 


000656 


013700 


OOOOOOG 




27$: 


MOV 


HEAD.AREA.RO 


000662 


105760 


000003 






TSTB 


3fR0) 


000666 


001404 








BEQ 


28$ 


000670 


01273 7 


000201 


OOOOOOG 




MOV 


#201, RET. STATUS 


0006 76 


000403 








BR 


29$ 


000 700 


012737 


000301 


OOOOOOG 


28$: 


MOV 


$301, RET. STATUS 


000706 


004737 


000250' 




29$: 


JSR 


PC, DECODE 


000712 


005726 






30$: 


TST 


(SP)* 


000714 


012605 








MOV 


CSP)*,R5 


000^16 


012604 








MOV 


(SP)*,R4 


000720 


012603 








MOV 


(SP)*,R3 


000722 


012602 








MOV 


CSP)*.R2 


000724 


012601 








MOV 


CSP)».R1 


000726 


012600 








MOV 


(SP)f ,R0 


000730 


000002 








RTI 





VAX-11 Bliss 16 V4.0 5/9 

DISK $USER2:f YOUNG. FMT)ZRGB4.B16; 3 



1 0140 
Page 3 7 
f 11) 

2638 

2651 
2302 
2665 



2668 
266/ 
2682 



2685 

2686 
2700 
2 '01 
2198 



Ren tine Sire: 237 words, Routine Base: $CODE$ » 1164 
Maximum stack depth per Invocation: 13 words 



2704 



i 'I 



L, 11 



ZRQB4 

REV C PATCH 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



5-Mar-1984 3.4:51:26 

5-Mar-1984 14:40:56 



SEQ 0141 
VAX -11 Bliss-lC V4.0-579 Page 38 

0ISK$USERa:[r0UNG,FMT)Zr?QB4.B16;3 C12) 



2705 
2/06 
2/0/ 
2708 
2709 

2/10 

2711 
2/12 
271? 
2714 

2/15 

2716 
2717 
2718 
2719 
2720 
2721 
2 722 
2723 
2724 
2725 
2726 
2727 
2728 
2729 
2730 
2731 
2732 
2733 
2734 
2735 
2736 
2737 
2738 
2/39 
2740 
2741 
2742 
2743 
2744 
2/45 
2 746 
274 7 
2 748 
2749 
2 750 
2/51 
2752 
2/53 
2754 
2755 
2 /56 
2757 



global routine CTO_WAIT ( TO J/ALUE , R C F_NUM, BUF$LOC) - {Controller time out wait 

Functional Description : 

This routine is celled to wait for the port/controller to either 
complete the queued command or time out the command. 



Formal Parameters 
TO. VALUE 

REF NUM 



BUFSLOC 



Indicate the time-out interval for this command. 

This argument contains the unique reference number 
assic/^ed to this command being ticned out by this 
rout i ne. 

This argument points to the out$std_buf location 
where this command is saved. At this location the 
received flag "rec.flg" bit is examined within the 
the timeout loop and when it equals true will 
signal that this command has been received by the 
interrupt service routine. 

Implicit Inputs : 
none 

Implicit Outputs : 

The command word in the out *std„buf fer 'word zero of a command 
slot' is cleared out with the value *o' 100000' to indicate this 
is an unused out $std_buf fer slot and that it can he reused. 

Completion Codes : 

There are two levels of return status returned by this routine. 
1. The DUP interrupt service returns to this routine a status code 
to indicate the success of the connection/communications mechanism 
to complete the queued command. If the port/controller does not 
time out then this return status is returned as this routines 
return status code. 



2, 



If the port/controller times out then the 5A 
is examined for the error bit set, 
error code is returned to the calling 
time out error code is returned. 



Register error bit 

If set then an port fatal 

routine else a controller 



In all cases, If an error code is 
routine decode is called to decode 
necessary recovery actions. 



returned (bit 
the error code 



' 1) then 
and does 



the 
the 



At the next higher level of return from this routine is another level 
of return status returned . This level test the success of the 
connection and also test the status field in the returned response 
envelope for the success of the controller co successfully complete 
the requested command. 



Side fcffectf 



IV 



M 1 1 



ZRQB4 




RDR 


REV C PATCH 


GLO 


; 2 758 


1 


i 


; 2759 


1 


; _ _ 


; 2760 


1 




; 2761 


c 




; 2762 


2 




; 2763 


2 




; 2764 






j 2765 


c. 




; 2766 






; 2767 


c. 




2768 


-> 




; 2769 


2 




; 27 70 






; 2771 






; 27 72 


3 




; 2773 


3 




; 27 74 


3 




; 2775 


2 




2776 


2 




; 2777 


2 




; 2778 


2 




i 2779 


2 




; 2780 


2 




; 2781 


2 




2782 


2 




; 2783 






; 2784 


c. 




; 2785 






5 2 786 


-> 

I.. 




; 2 787 


3 




2788 


3 




j 2 789 


3 




; 2790 


3 




i 2791 


3 




; 2792 


3 




; 2793 


3 




; 2/94 


3 




j 2795 


3 




; 2796 


3 




; 2797 


4 




; 2798 


4 




; 2799 


4 




; 2800 


3 




; 2801 


3 




; 2802 


3 




i 2803 


2 




; 2804 


n 




j 2805 


? 




; 2806 


■i 




; 2807 


'i 




; 2808 


v. 




; 2809 


o 

i 




: 2810 


2 





DISK FORMATTER 
U_ ROUTINE DECLARATIONS 



5-Mor-1984 14:51:26 
S-Mar-1984 14:40:58 



SfcQ 0142 
VAX -11 Bliss -16 V4. 0-579 Page 39 

DISK SUSER2 : [ YOUNG . FMT ]ZRQB4 , B 16 1 6 ( 12 ) 



none 



begin 



Before doing the timeout wait make sure that this buffer location 
that we're suppose to time out actually contains the command ref 
number that was sent to us via the formal argument. Error and 
kirk the bucket if not the same. 

f .OUT$STD„BUF [.BUF$L0C, CMD.REF] nequ .REF_NUM {Is this the same ref num 
then 

begin 

RET_STATUS - OSE_C0DE; ! Indicate the error code 

DECODE O} !Call decode to report the error 

end; 

Loop on a one micro second delay for the number of times 
requested by the caller. After each delay see if the flag 
"rec_flg" has been set yet. Return "Ret„status" and clear the 
command word to #0' 100000' to indicate this command has been 
received if this flag gets set before the timer expires. 
Return a error code if the timer expires before the flag gets set. 



.'Loop for t i me -out .value 

!Do the one micro second delay 



ncru i from to . T0_VALUE do 

begi n 

DELAY (CJJS)i 
i 

• Exit routine with the DUP interrupt service 

! routines '*ret_status" If "rec^flg" got set before 

! the timer expires, 
t 

if .0UT$STD„BUr r.BUF$L0C, REC.FLG] eqlu TRUE J Is this command received yet 
then 

begin 

0UT$S1D_BUF r.BUF$l.QC, CMD.WRD] = Ko* 100000* ; .'Return the slot to the unused state 

return .RET..STATUS ; 'Return the interrupt service status 

end; 



BREAK; 
end; 



The port/controller- timed out if" the code 
reached here. Return an er;*or code to 
the caller and exit the routine. 



IServIce any control C's 



K i 'I 'I 



ZRQB4 




REV 


C PATCH 




2811 


2 




281? 






2813 


2 




2814 


2 




2815 


2 




2816 


c. 



2817 



RDRX DISK FORMATTER 
GLOBAL ROUTINE DECLARATIONS 

if ,RDRX_ADDR [RC5A, ERR_BIT] 
then 

return RET..STATUS = PFE CODE 
else 

return RET. STATUS » CTO^CODEj 

endj 



Nil 



5-Mar~1984 14:51:26 
5*Mar-1984 14:40:58 



SEQ 0143 
VAX -U Bliss-16 V4. 0-579 Page 40 

DISKSUSER2 : [ YOUNG , FMT ] ZRQB4 . B16 ; 3 C 12) 



!Is the SA error bit set 

JPort timed out with fatal error 
{Port just timed out 



.GLOBL LSCPU, L$DLY 



000000 004137 



000004 
000006 
000012 
000014 
000016 
000022 
000024 
000026 
000030 
000034 
000036 
000044 
000050 
000052 
000054 
000060 
000062 
000066 
000070 
000074 
000076 
000100 
000102 
000104 
000106 
000110 
000114 
000120 
000122 
000124 
000126 
00013? 
000134 
000140 
000144 
000146 
000152 
000154 



024646 
016600 
006300 
006300 
012703 
060003 
005000 
151300 
020066 
001405 
012737 
004 73 7 
005002 
000425 
013701 
001411 
013700 
001404 
005066 
005300 
001374 
005301 
000766 
005/13 
100005 
012713 
013700 
000421 
104422 
005202 
020266 
101750 
013700 
016016 
100003 
012700 
000402 
012700 



OOOOOOG 

000016 

OOOOOOG 

000020 

003001 OOOOOOG 
000250' 

OOOOOOG 
OOOOOOG 
000002 



100000 
OOOOOOG 



000022 

OOOOOOG 
000002 

000021 

000011 





.SBTTI. 


CTO. WAIT GLOBAL 


CTO, 


WAIT: : 






JSR 


Rl 9 $SAVL3 




CMP 


■CSP).-(SP) 




MOV 


16(SP),R0 




ASL 


RO 




ASL 


RO 




MOV 


«0UT*STD.RUF t R3 




ADD 


R0.R3 




CLR 


RO 




BISB 


(R35.RO 




CMP 


R0,20(SP) 




BF.U 


1$ 




MOV 


03001, RET. STATUS 




vJSR 


PC, DECODE 


1$: 


CLR 


R2 




BR 


8$ 


2i: 


MOV 


L$CPU,R1 


3$: 


BEU 


6$ 




MOV 


I.JDLY.RO 




BEQ 


5$ 


4$: 


CLR 


2(5P) 




DEC 


RO 




BNE 


4$ 


5$: 


DEC 


Rl 




BR 


3$ 


6$; 


TST 


(R3) 




BPL 


7$ 




MOV 


100000, (R3) 




MOV 


RET.STATUS.RO 




BR 


115 


7$: 


TRAP 


22 




INC 


R2 


8$: 


CMP 


R2 , 22C SP ) 




BLOS 


2$ 




MOV 


RDRX.ADDR.RO 




MOV 


2(R0),CSP) 




BPL 


9$ 




MOV 


*21,R0 




BR 


10$ 


9$: 


MOV 


#11. RO 



BUF$L0C,* 



2 ''05 
2770 



*,REF.NUM 

I 

*,*$TMP2 

*,$$TMP1 

$ MP 
$*TMP1 

$$TMP2 



2 7/3 
27 74 
2 786 

2788 



1 

I, TO. VALUE 

+,RC$S.REU 



2 795 
2 - 7 9o 

28U0 

2 736 



2811 

28 1 3 
2815 



Rf.V C r-ATCH 



000160 
000 1 64 
00016b 



01003 7 

or<?6^6 

00CV0 / 



RDRX DISK ► 0RMA1 U H 

GLORAl. ROUTINfc OhCLARAT IONii 



OOOOOOG 



h'h' 



r i M«r-19A4 14i40i58 



VAX -11 Bl*9* U> V4.0 5/9 
DISK»USFWi( tOUNG 4 F'MTlirRQB4.B*6j5 



101: 


MOV 


RO.RrT. STATUS 


Uli 


CMP 


C SP •) ♦ , ( sp ) ♦ 




RTS 


PC 



SfcQ 0144 
PetQ* 41 



*7<fc 



{ Routlnt bij«; 60 word-i , Rout I ri« Bast: iCODb* ► t'116 
; Maximum stock depth p«r invocation* o* wo^ds 



u^Utf 1 



CI,' 



/RQB4 
RFV C 



PATCH 



.WO 

2824 
J8J5 

2826 
282? 
2823 
2829 
2830 
2831 
2832 
2833 
2834 
«>8^ r > 
283b 
28 3 .* 
2838 
28 54 
2840 
284 1 
284 2 
284 3 
2844 

SBAb 

2846 
284 ; 
2848 
2849 
28S0 
28M 
28S2 
285^ 
28S4 
i?8*jb 

28 r»; 

28^8 
28*W 
2860 
2861 
2862 
286! 
2864 
286'j 
2866 
286/ 
2868 
286'< 

2871 



RDRX DISK KORMATH.H 

GLOBAL. ROUTINE DECLARATIONS 

global routine ABORT - 



5-Mar-1984 14} C >1{26 
S Mar -1984 14 j 40 5 58 



VAX- U Bliss 16 V4.0 $/'■* 

DISK IUbtR2 5 [ YOUNG . F'MT JZRQB4 . B16 j 3 



.fcQ 014S 
Page 42 
( 13) 



! Aborts remote prog' am 



Functional Dtscr tpt tof\ : 
The abort program 
remote program in 
5s received to 
e«*cuting and the 



command >fl used to terminatt the e*ecut 
an orderly Fashion. When a successful 
this command the remote program has 
server is in Idle state. Note that the 
of tr»i- command does not preclude further send data or rece 
exchanges: On the contrary, the remote program may be des 
send out termination status and possibly even ask question 
its forced-eKit sequence, The time out for this command is 
10 seconds and if a response is not received by 
connection to the dust should be terminated, This command 
legal if the dust is in active state. 



5 on of a 

response 

stopped 

send i ng 

! ve data 
igned to 
s dur !ng 

a f I xed 
then the 

•9 Ortly 



formal Paratneters 
none 

Impl !c i t Inputs j 
NSD SLOT 



This global storage gets loaded by the routine 
' Get. .ned' and in it is stored the next send ring 
descriptor slot where the port^control ler should 
be polling on and the place to put this commands 
command packet . 



Implicit Outputs 
none 

Completion Codes 
RET STATUS: 



Return status passes back to the calling routine 
the status of the just issued command. 



Side Effects : 

Any remote program 
be aborted. 



begin 

local 

Rfcf NUM. 
ABO BUMLOC. 
TEMP | 



Before we load up the command packet up 
*ith all this good information get tne 
n«xt send descriptor slot and a unique 
command reference number, 

(,f T^N',0 i )j 

Rt* _NUM - GtLT.CMDlRtt' C )\ 



running in the controllers QM machine will 



.'Stores unique cmd ref number 

I Stores outlstanding cmd buffer location 

!A plac« to put the read IP register data 



!Uet 
!uet 



the next 
a un i que 



send dene slot 
command ^e^ num 



Dl 



/RiW4 




REV C PAT 


CH 


i 28 72 


c. 


; 28/3 


2 


; 2874 


c 


; 28 75 


-> 
c 


; 2676 


2 


28 : / 


"t 


; 28 *8 


V. 


28 79 


i- 


; 2880 


2 


; 2881 




j 2882 


? 


; 288? 




; 2884 




; 2885 


cl 


; 2886 




288 7 


c. 


; 2888 


2 


288^ 


2 


{ 2890 


-> 


; 2091 


2 


5 2892 


2 


; 2893 


k. 


; 2894 


L. 


; 2895 


2 


; 2896 


2 


j 2897 


2 


: 2898 


2 


; 2899 


2 


; 2900 


2 


; 2901 


^> 


; 2902 


2 


5 2905 


2 


t 2904 


2 


; 2905 


2 


; 2906 


2 


; 290 7 




2908 


2 


; 2909 


2 


; 2910 


2 


; 2911 


2 


; 2912 


2 


; 2913 


2 


; 2914 


2 


; 291S 


2 


; 2916 


2 


; 2917 


2 


; 2918 


2 


; 2919 


o 


; 2920 


2 


; 2921 


- ^ 


; 2922 


2 


; 2<V J 5 


2 


; 2924 


2 



RDR\ DISK KIRMATJER 

GLOBAL ROUTINE DECLARATIONS 



5 Mar 1984 14:51:26 
5-Mar-19«4 14:40:58 



VAX-11 Bliss 16 V4. 0-5/9 
DISK$USER2:[ YOUNG.FMT ]ZRQB4 ,B16 j 3 



iEQ 0146 
Page 41 

CIS) 



UQ Port command envelope Header field definition 



SNO.ENVELOPE 
SND ..ENVELOPE 
SNO. ENVELOPE 

SNO ENVELOPE 



t .NSO.SLOT, 
[ .NSD,SLOT, 
[.NSO^SLOT, 
[ .NSD_SL0T, 



MSG. LENGTH] • SZ_ABT| !Load the length of envelope 

CREDITS) - ONE j {Load credit* 

MSG JYPE] ■ Oj JLoad message type 

CONN^ID] - 2\ JLoad connection ID 



DUP command envelope field definition 



s:jo .envelope 
sno_envelope 
sno envelope 
sno ..envelope 
snd envelope 
sno. envelope 
sno envelope 



[.NSD.SLOT, 

[,NSD_SLOT, 
[ ,NSD_SLOT, 
r.NSD_SLOT, 
[ .NSD_SLOT, 
[ .NSD_SLOT, 
C.NSD.SLOT. 



CMOJ.RF.F] 

CMO HREF] 
UN.LUSED] 
UN^HUSED] 
OPCODE] - 
RSVD] • ZERO* 
MODIFIER] - ZERO: 



.REE NUMj 
ZERO: 
ZERO: 
ZERO: 
OP^ABTj 



!DefJne reference number 
!Hi order ref number 
! Unused low order 
! Unused hi order 
!Load opcod 
•Reserved field 



Call the locd outlstanding command buffer routine 
and load this command Into the buffer. the return 
from this routine will point us to the buffer location 
where this command Is stored. Later we can look at 
this location to see if the interrupt service routine 
has received and process it. 

AB0„B l JF$L0C - LOAD .. OUT >STD BUT CREf .NUM)j 'Load the command 

if .AB0_BUF$L0C eqlu OBF.CODE then DECODE (.); Jfcrror if buffer is full 

Set the ownership bit to 1 giving this slot 
to the port/controller 

SEND.RING CNSD.SLOT, 0WN„BIT] - PORT.OWNEDj 

Read the IP register to stimulate port polling 
TEMP » .RDRX^ADDR [RCIP, RC.ALLh 

Time out the port /controller processing the command. 



The f i rst 
respond to 
register and 



test tests the connections ability to 
this command without any errors In the SA 
for the command not timing out. 



The second tests the DUP server for good status. If 
bad status is sent back then an error code Is returned 
to the calling routine wh#re the routine "decode" will 
decode and take the appropriate recovery. The time 
out routine will loop on delaying and checking the hi 
bit of the first word In the outlstd_buf for a true, 
When true signals us that the interrupt service routine 
has received the endpacket &c\<$ no connection errors 



ZRQB4 
REV C 



PATCH 



2925 
2926 
292 7 
2928 

2929 

2931 
2932 
2933 
293^ 
2935 
2936 
293? 
2938 
2939 
2940 
2941 
2942 
294 3 
2944 
2945 
2946 



E I -> 



RDR\ DISK FORMAT TEH 

GLOBAL ROUTINE DECLARATIONS 



were detected. 



c. 



5 -Mar -1984 
5 -Mar -1984 



. r . . ~ ^EQ 014/ 

14:51:26 VAX-ll BUss-16 V4 . 0-579 Page 44 

14*40tS8 DISKSUSER2: f YOUNG. FMT ]ZRQ&4 ,B16 j 3 (11) 



f CTO_WAIT (3000, .REF.NUM. . AB0_BUF$L0C) then DECODE C)j ! Is return an error 

Get the return envelope address from the out$std„buf 
at this commands buffer location and check the packet 
for good status error and die if bad status was returned 



RET„EN$AD - ,OUT*STD_BUF t . ABO.BUF $L0C , ENV„ADR]j 
Now test for good status 



!Get the ret env adr 



f .RET EN$AD [STATUS] nequ ZERO 
then 

return RET .STATUS ■ RSE,C0DE 
else 

return >RET_STATUS { 



! Test the status 

•Return a "Response status err" code 

•This ret„status Is good or bad 



000000 
000004 
000006 
000012 
000016 
000020 
000024 
000030 
000034 
000042 
000046 
000050 
C00054 
000062 
000066 
000072 
000076 
000102 
000110 
000114 
000120 
000122 
000126 
000130 
000134 
000 1 36 
000142 
000146 



C04137 
005746 
004737 
004 737 
010002 
013746 
012746 
004 737 
012760 
012701 
060001 
112711 
112761 
010260 
005060 
005060 
005060 
112760 
105060 
005060 
010216 
004737 
010001 
02012 7 
001002 
004 737 
015700 
006300 



00OO00G 

000000' 
000146' 

OOOOOOG 

000054 

OOOOOOG 

000014 OOOOOOG 

000002G 

000001 

000002 000001 

000004 G 

000006G 

0000 10G 

00OC12G 

000006 000014G 

000015G 

0000 16G 

000054' 

002001 

000250' 
OOOOOOG 



ABORT: 



1* 



, SBTTL ABORT GLOBAL ROUTINE DECLARATIONS 

JSR R1»$SAV£2 ; 

TST (SP) 

JSR PC.GET.NSD j 

JSR PC.GET.CMDJREF : 

MOV R0,R2 ; 

MOV N5D.SL0T, -(SP) j 

MOV 054, -(SP) 

JSR PCBLIMUL 

MOV *14 , SNO . ENVELOPEC RO ) 

MOV *SND. ENVELOPES, Rl 

ADD R0.R1 

MOVB 01, (RO 

MOVB 02.1CR1) 

MOV R2 . SND . ENVELOPE ♦ 4( RO ) 

CLR SND.ENVEL0PE*6(R0) 

CLR SND . ENVELOPE ► 10( RO ) 

CLR SND . ENVELOPE ► 12(R0 ) 

MOVB #6, SNO. ENVELOPE* 14 (RO) 

CLRB SND . ENVELOPE ♦ 15( RO ) 

CL R SND . ENVELOPE • 16( RO ) 

MOV R2,(SP) 

JSR PC,LOAD.OUT$STD.BUF 

MOV R0,R1 

CMP Rl, 42001 

BNE II 

JSR PC.DECOUe 

MOV NSD.SLOT.RO 

,-iSL RO 



♦.REF.NUM 



REE, NUM.* 



RE F, NUM.* 

o.ABO.BU* SI OC 

ABO.BUFSLOC,* 



2819 

2870 
2871 

2875 



2876 

28 7 7 
2878 
2882 
288 3 
2884 

283^ 

288o 
288 * 
2888 

..'89; 



.\*^9 



2^05 



ZRQB4 




RORX OISK FORMA 


REV C PATCH 


GLOBAL ROUTINE 


000150 


006300 






00015c 1 


063700 


OOOOOOG 




000156 


052760 


100000 


000002 


000164 


017766 


OOOOOOG 


000004 


000172 


016600 


000004 




000176 


012716 


005670 




000202 


010246 






000204 


010146 






000206 


004 73 7 


002116* 




000212 


022626 






000214 


006000 






000216 


103002 






000220 


004737 


000250' 




000224 


010100 






000226 


006300 






000230 


006300 






000232 


016037 


000002G 


OOOOOOG 


000240 


016000 


000002G 




000244 


005760 


000016 




000250 


001405 






000252 


012700 


000031 




000256 


010037 


OOOOOOG 




000262 


000402 






000264 


013700 


OOOOOOG 




000270 


062706 


000006 




000274 


000207 







DECLARATIONS 



'J 



5-Mar~1984 14:51:26 
5-Mar-1984 14i40{58 



VAX-11 Bliss-16 V4. 0-579 
OISK*USER2:[Y0UNG,FMT]ZRQB4.B16;3 



SEQ 0148 



P0Q« 





ASL 


RO 








ADD 


send.ring.ro 








BIS 


0100000, 2CR0) 








MOV 


SWDRX,ADDR,4(SP) 




; ♦,RC*S,REG 




MOV 


4rSP),R0 




I RC*S. REG. TEMP 




MOV 


05670, (SP) 




J 




MOV 


R2.-CSP) 




; REF.NUM.* 




MOV 


Rl. -CSP) 




; ABO.BUF$LOC,* 




JSR 


PC.CTO.WAIT 








CMP 


CSP)*,(SP)» 








ROR 


RO 








BCC 


2$ 








JSR 


PC, DECODE 






2*: 


MOV 
ASL 
ASL 


Rl.RO 

RO 

RO 




I AB0,BUF$LOC,* 




MOV 


0UT$STD.BUF*2(R0) 


>RET.EN5AD 






MOV 


0UT*STD.BUF*2CR0) 


RO 


j 




TST 


16CR0) 








BEQ 


3$ 








MOV 


031, RO 








MOV 


RO, RET, STATUS 








BR 


4$ 






3$: 


MOV 


RET.STATUS.RO 






4$; 


ADD 
RTS 


06, SP 

PC 







(IS) 

2909 
2928 



2940 

2942 
2944 

2819 



; Routine Size: 95 words. Routine Base: *CODE$ > 2306 
; Maximum stack depth per Invocation: 9 words 



294 7 1 



gl 



ZRQB4 




REV C PATCH 


; 2<MS 


1 


t 2^49 


1 


^950 


1 


; 2*M 


1 


J95J 


1 


; 29S3 


1 


; J9S4 


1 


: 2 c *f> c > 


1 


; 29S6 


1 


; 29f\? 


1 


^9!>d 


1 


J 2959 


1 


; 2960 


1 


j 2961 


1 


; 29t>2 


1 


; 2963 


1 


; 29^4 


1 


: 296 r* 


1 


5 296b 


1 


; 296 7 


1 


; 2968 


1 


; 2969 


1 


; 29/0 


1 


: 2971 


1 


; 297? 


1 


29/3 


1 


; 2974 


1 


; 29 7S 


1 


; 29/6 


1 


; 297/ 


1 


; 2978 


1 


; 29 79 


2 


; 2980 


2 


2981 


2 


; 2982 


r. 


; 2983 


v. 


; 2984 


■^ 


; 2935 




i 2986 


1 

c. 


; 298 7 


? 


; 2988 


2 


; 2989 


2 


: 2990 


o 

L 


; 2991 


L. 


; 2992 




; 299 5 


1 


j 2994 


2 


; 2995 


2 


; 2996 


> 


; 299 / 


t . 


: 2998 




: 29'«9 


i 



RDRX DISK FORMATTER 
GLOBAL ROUTINE DECLARATIONS 

global routine GET ..DUST .STATUS - 



5 -Mar -1984 14;51:26 
3 -Mar -1^34 14;40i58 

Gets DUP server status 



SfcQ 0149 
VAX 11 Bliss 16 V4.0 579 p age 46 

DISK*USER2j[ YOUNG. FMT]ZRQB4«B16j3 f 14 J 



Functional Description : 

This command allows the host program to interrogate the DUP server 
to determine its caracter ist ics, its state and the state of tne 
program currently running (if any). It is legal in either idle or 
active state and does not affect the state of server. It has a 
Fixed timeout Interval of 3 seconds. If the response times out. the 
host should t»- saV, the connection. 

Formal Parameters : 
none 



Implicit Inputs 
NSD_SL0T 



Th:s global storage gets loaded by the routine 
' Get.nsd' and in it is stored the next send ring 
descriptor slot where the port/controller should 
be polling on and the place to put this commands 
command pocket. 



Implicit Outputs 
none 

Completion Codes 
RET. .STATUS 



Side Effects : 



begin 

local 

REF NUM. 

GDS_BUF$L0C, 

TEMP; 



Before we load up the command packet up 
with all this good information get the 
next send descriptor slot and a unique 
command reference number. 



Return status passes back to the calling routine 
the status of the just Issued command. 



.'Stores un i Que cmd ref number 
.'Stores out$stnnding cmd buffer 1 
•A place to put the IP read data 



oc a 1 I on 



GET 
REF 



NSD 
NUM 



(){ 
- GET 



•Get 

•Get 



CM0IREF ( ). 
UQ Port command envelope Header field definition 



the ne^t 
a unique 



send desc slot 
command ref num 



500Q 2 



SND ENVELOPE 
SND ENVELOPE 
SND ENVELOP* 
SNCL ENVELOPE 



[. NSD. SLOT. MSG IENGTH) ■ S/^GDSj 
r.NSD SLOT. CREDITS] » ONf j {load 

[.NSD MUT, MSG M PI] * 0j M.oad 



I .NSD.SL0T. CONN ID] 



J 



•Load the envelope size 
the cred« t si /e 
the message type (Sequential) 
•Load the connection ID i DUP ^ 



' ■) 



7RQB4 
REV C 



PA I CM 



5001 
1002 

3003 
3004 
3005 
3006 
300 7 
3003 
3009 
3010 
3011 
301."? 
301? 
3014 
301? 
3016 
301/ 
3018 
3019 
3020 
3021 
302^? 
3023 
3024 
3025 
30^6 
3027 
3028 
3029 
3030 
3031 
3032 
3033 
3034 
3035 
3036 
3037 
3036 
3039 
3040 
3041 
3042 
304 3 
3044 
304S 
3046 
304/ 
3048 
3049 
3050 
3051 
»-0V 
3053 



RORX DISK KORMATTKH 

GLOBAL ROUTINE DECLARATIONS 



5 -Mar -1984 14:51:26 
5 Mar -1984 14-40:56 



SEQ 0150 
VAX-U BUss-lft V4. 0-579 P OQ<? 4/ 

DISK$U5ER2:[Y0UNG.FMT]ZRQb4,B16;3 ( 14 ) 



DUP generic command envelope field definition 



SNO.ENVELOPE t.NSD.SLOT, 

SNO ENVELOPE [.NSD_SLOT, 

SNO ENVELOPE . .NSD.SLOT, 

SNO ENVELOPE l.NSD.SLOT. 

SND ..ENVELOPE [.NSD.SLOT, 

SND„ENVELOPE [.NSD.SLOT, 

SND ENVELOPE [ ,NSD SLOT, 



CMO.LREr] 
CMD.HREF] 

UN_LUSED] 
UN HU3ED) 
OPCODE] - 
RSVD'J - ZEROt 
MODIFIER) - ZERO 1 



.REF^NUMj !Load command reference number 
ZERO i {Command reference low order 

!Low order unused 

!Hi order unused 

[Load opcode 

♦Reserved field 

.♦Load modifier field 



ZERO; 
ZERO j 
0P„GDS| 



Call the load outstanding command buffer routine 
and load this command into the buffer. The return 
from this routine will point us to the buffer location 
where thiscommend is stored. Later we can look at 
this location to see if the interrupt service routine 
has received and process it, 

GDS„BUF$LOC - LOAD_0UT$STD„BUF (.REF.NUM); 'Load the command 



f ,GDS_BUF$L0C eqlu 0BF..C0DE then DECODE (){ 



JError if buffer is full 



Set the ownership bit to 1 giving this slot 
to the port/controller 

END_RING [ .NSD._SL.0T, 0WN_BIT] • P0RT_0WNEDs 

Read the IP register to stimulate port polling 

TEMP - .RDRX..ADDR tRCIP, RC.ALLl; 

Time out the port /controller processing the command. 

The first test tests the connections ability to 
respond to this command without any errors in the SA 
register and for the command not timing out. 

The 



second tests the DUP server 
bad status is sent back then 



for good status. If 
~„^. ^..-^-a, . ., .-•».,.* v «^ n v..x... an error code is returned 
to the calling routine where the routine "decode" will 
J ' ' ' the appropriate recovery, The 




if C TO. .WAIT C*o*3000', .REF NUM. .GDS _BUF U OC ) then DF.CODt Oj 
I Get the return envelope address from the out 1st d buf 



\\s return an error 



1 1 2 



ZRUH4 RORX DISK FORMATTER 

REV C PATCH GLOBAL ROUTINE DECLARATIONS 



5-Mar-1984 14:51:26 
5-Mar-1984 14;40{58 



VAX-ll BHss-16 V4.0-5/9 

DISK $ USER2 : [ YOUNG t FMT 1 ZRGB4 . B 16 ; 3 



SEQ 0151 
Page 46 
f 14) 



3054 

3055 

3056 

3057 

3059 
3O60 
3061 
3062 
306? 
3064 
3065 
3066 
306 7 
5068 



at this commands buffer location and check the packet 
for good status error and die if bad status was returned 



RFT .ENIAD - .OUTISTD.BUF [ .GDS „BUF $L0C, ENV_ADR]j !Get the ret env adr 



■ Now test for good status 



if .RET..ENIAD (STATUS! nequ ZERO 
then 

return RFT STATUS • RSE^CODE 
else 

return .RET_STATUS; 

ends 



!Test the status 

! Return a "Response status err" code 

{This ret. .status i9 good or bad 



000000 004137 OOOOOOG 



000004 
000006 
000012 
000016 
000020 
000024 
000050 
000054 
000042 
000046 
000050 
000054 
000062 
000066 
0000/2 
000076 
000102 
000110 
000114 
000120 
000122 
000126 
000130 
000154 
000136 
000142 
000146 
000 ISO 
000152 
000156 
000164 
0001 /." 
000176 



005746 
004 7 37 
004 737 
010002 
013746 
012746 
004737 
012760 
012701 
060001 
112711 
112761 
010260 
005060 
005060 
005060 
112760 
105060 
005060 
010216 
00473 7 
010001 
02012/ 
001002 
004 737 
013/00 
006300 
006300 
065700 
052 /60 
017/66 
016600 
012716 



000000' 
000146' 

OOOOOOG 

000054 

OOOOOOG 

000014 OOOOOOG 

000002G 



000001 



000014G 



000001 

000002 

000004G 

000006G 

000010G 

0000 12G 

000001 

0000 15G 

000016G 

000054' 

002001 

000250' 
OOOOOOG 



OOOOOOG 
100000 000002 
OOOOOOG 0C0004 
000004 
003000 





.SBTTL 


GET. DUST. STATUS GLOBAL 


GET 


OUST. STATUS 


• : 




JSR 


R1.ISAVE2 




TST 


( SP ) 




JSR 


PC.GET.NSD 




JSR 


PC.GET.CMDIRFF 




MOV 


R0.R2 




MOV 


NSD.SLOT, -CSP) 




MOV 


054, -CSP) 




JSR 


PC.BLiMUL 




MOV 


014 , 3 NO , ENVELOPE ( RO ) 




MOV 


OSND. ENVELOPES, Rl 




ADD 


R0.R1 




MOVB 


01. (Rl) 




MOVB 


02, 1CR1) 




MOV 


R2,SND.ENVEL0PE*4(P0 > ) 




CLR 


SND. ENVELOPE »6(R0) 




CLR 


SND,ENVEL0PE»10(RO) 




CLR 


SND. ENVELOPE *12CR0) 




MOVB 


Ol.SND.ENVFl 0PF*14CR0) 




CLRB 


SND, ENVELOPE »15(R0) 




CLR 


SND. ENVELOPE »16(R0) 




MOV 


R2.CSP) 




JSR 


PC.LOAO.OUTISTD.BUF 




MOV 


R0.R1 




CMP 


Rl, 02001 




BNE 


11 




JSR 


PC.DECODt 


1$: 


MOV 


NSD.SLOT.RO 




ASL 


RO 




ASt 


RO 




ADD 


SEND.RING.RO 




BIS 


0100000. J(RO) 




MUV 


ttRDRX.A[)DR,4(5P) 




MOV 


4CSP\R0 




MOV 


03000, t SP) 



♦.REF.NUM 



RE F. NUM.* 



j REF.NUM.* 

; + ,G0S.Bl* II OC 
; GDS.BUFU.OC,* 



♦.RCIS.Rt G 
RCSVi. REG, TEMP 



2948 

2992 
JQ93 

2997 



29^8 

29'-»9 

3000 
3004 
3005 
300b 
300 / 
3008 
300^ 

3010 
3019 



3021 



3027 



<^<1 
3050 



J 1.2 



ZRQB4 




RDRX DISK FORMAT T I. H 


REV C PATCH 


GLOBAL ROUTINE DECL 


000.20;? 


010246 




000204 


010146 




000206 


004 73 7 


002116' 


00021.2 


022626 




000? 14 


006000 




000216 


103002 




000*220 


00473? 


000250' 


000224 


010100 




000226 


006300 




000230 


006300 




000252 


01603/ 


000002G OOOOOOG 


000240 


016000 


000002G 


000244 


005760 


000016 


000250 


001405 




000252 


012700 


000031 


000256 


01003/ 


oooooog 


000262 


000402 




000264 


013700 


OOOOOOG 


0002 70 


062706 


000006 


000274 


00020 7 





2$ 



?$ 

4$ 



5 -Mar -1984 14:51:26 
5«Mar-19«4 14;40:56 



MOV 


R2.-CSP) 


MOV 


Rl. (iiP) 


JSR 


PC.CTO.UAIT 


CMP 


(SP)* # CSP)> 


ROR 


RO 


BCC 


2i 


JSR 


PC, DECODE 


MOV 


Rl.RO 


ASl. 


no 


ASL 


RO 


MOV 


OUT«STD.BUK*2(RO),RhT t tN*A0 


MOV 


OUUSTD.BUf >2(R0),R0 


TST 


16CR0) 


bf.q 


3* 


MCV 


#31, HO 


hOV 


RO, RET. STATUS 


BR 


4$ 


MOV 


RET.STATUS.RO 


ADD 


46 , SP 


RTS 


PC 



SEQ 0152 
VAX-11 Bliss 16 V4. 0-579 Page 4V 

DISK*USFR2:[ rOUNG.FMT 1ZRQB4.B16 ;3 C 14 ) 

; REf .NUM.* 

} GDS.BUFSLOC,* 



t GDS.BUFU.OC,* 



3057 

3062 

3064 
3066 
2948 



Routine 'lire: 9S words, Routine Biise; 
MoxJmum stack depth per Invocation; 9 word* 



*C00t$ * 2604 



3069 1 



K'L? 



/RQB4 


RF.V C PATCH 


j C 30/0 1 


{ C 30/1 1 


j C 30/2 1 


; C 30/3 1 


5 C 30/4 1 


; C 3075 1 


S C 30 76 1 


; C 30/7 1 


; C 30 78 1 


; C 30/*) 1 


; C 3080 1 


; C 3081 1 


; C 308.? 1 


j C 3083 1 


j C 3084 1 


; C 3085 1 


; C 3086 1 


; C 3087 1 


; C 3088 1 


; C 3089 l 


; C 3090 1 


; C 3091 1 


; C 309? 1 


; C 3093 1 


; C 3094 1 


; C 3095 1 


; C 3096 1 


; C 3097 1 


; C 3098 1 


; C 3099 1 


i C 3100 1 


; C 3101 1 


; C 3HV 1 


5 C 310* 1 


; C 3104 1 


: C 3105 1 


; C 3106 1 


; C 3107 1 


{ C 3108 1 


; C 3109 1 


; C 3110 1 


; C 3111 1 


; C 3112 1 


; C 3113 1 


; C 3114 1 


i C 3115 1 


; C 31 16 1 


j C 3117 1 


; C 3118 1 


j C 3119 i 


; C 3l.»U 1 


; C Mc-1 1 


; C Svea l 



RD* V . DISK FORMAT TLR 

GLOBAL ROUTINE DECLARATIONS 

*( 

global routine EX_SUP„PR0G * 



Functional Description : 

This command causes 



5 -Mar 1984 14: SI: 26 
5 Mar -196*4 14:40:58 



r iEQ 015? 
VAX-11 Bliss 16 V4. 0-579 Page 50 

DISK $USER2 : [ YOUNG . FMT J ZRQR4 . B16 ; 3 C 15 ') 



! Executes supplied program 



the server to transfer the program from host 
area in the controller and start its execution. The 
the address and length (in bytes) of a buffer 
program header and initial load; the starting 
its memory requirements and any relocation information 
under the server arc in the program header in a format 
of the host business. This commmand is oisly leQal when 
the server is in the idle state and return of a successful end packet 
puts the server into to active state. 

The time out interval for this command is 30 seconds. 



memory to an 
host supplies 
containing the 
of the program, 
needed to run 
which is none 



Formal Parameters 
none 

Implicit Inputs : 

NSD.SL0T 



Impl ic i t Outputi 
A7FMTR: 



DMSA 
UVSA 
HD5A 



Completion Codes 

RET..STATUS: 



This global storage gets loaded by the routine 
'Get_nsd' and in it is stored the next send ring 
descriptor slot where the port/controller should 
be polling on and the place to put this commands 
command packet. 



Azfmtr is the vector produced by DMCONV program ^nd 
Is decalared in module AZKLL6 . 

These three bound addresses point to specific area 
in the DM code buffer 'a/fmtr' ond are used to 
define the buffer descriptors within this command. 



Return status pusses back to the calling routine 
the status of the just issued command. 



Side Effects : 

The DM machine in the controller goes from the idle state 
active state on return of a successful return packet. 



to the 



beg i n 

local 

Kb'" NUM. 
FSP .BUFU.0C, 

TF.MPj 



! Before we load up the command packet up 



unique cmd rc^' number 



::> lores un i que cmo rer numoer 

•Stores outstanding cmd buffer location 

•A place to put the read IP register dat< 



ZRQB4 


REV 


C PATCH 


; C 


71c? 7 1 


; C 


3124 1 


J c 


31?5 1 


; C 


3126 1 


; C 


312/ 1 


i c 


3128 1 


; C 


3L'9 1 


i c 


3130 1 


; C 


3131 1 


i c 


3132 1 


; C 


3135 1 


; C 


3134 1 


? c 


313S 1 


; C 


3136 1 


j c 


3137 1 


J c 


3130 1 


; C 


3139 1 


; C 


3140 1 


; C 


3141 1 


; C 


3142 1 


J c 


3143 1 


; C 


3144 1 


; C 


3145 1 


; C 


3146 1 


i c 


314 7 1 


j c: 


3148 1 


; C 


3149 1 


; C 


3150 1 


; C 


31 i>l 1 


; C 


3152 1 


; C 


3153 1 


; C 


3154 1 


j c 


3155 1 


s C 


3156 1 


J c 


315/ 1 


; C 


3158 1 


j C 


3159 1 


J c 


3160 1 


; C 


3161 1 


; C 


3162 1 


i c 


3163 1 


j c 


3164 1 


j c 


3165 1 


; C 


3166 1 


; C 


316/ 1 


; C 


3168 1 


; C 


3169 1 


; C 


31/0 1 


; C 


31/1 1 


; c: 


31/2 1 


; C 


31/3 1 


; C 


31/4 1 


; C 


317b 1 



RDRX DISK FORMATTER 

GLOBAL ROOT INF. DECLARATION: 



with all this good information get the 
next send descriptor slot and a unique 
command reference number, 

GET..NSD C )j 

REF„NUM - GET_CMD$REF (.); 



12 



5-Mar-1984 14:51:26 
5-Mar-1984 14s40;58 



SEU 0154 
VAX U BHss-16 V4.0-579 Page 51 

DISK SUSER2 1 [ YOUNG , FMT ] ZRQB4 , B 16 ; 3 C 15 ) 



!Get the next send desc slot 
•Get a unique command ref num 



UQ Port command envelope Header field definition 



SND ..ENVELOPE [.NSD ..SLOT, MSG lENGTH] » SZ^ESPj !Load the message length 

[.NSD.SLOT, CREDITS] • ONE t iLoad the credits field 

[,NSD_SL0T, MSG_TYPE] - Oj .'Define the msg type 'Sequential' 

[.NSD..SL0T, C0NN_ID] - 2j 'Define the conection ID as DUP 



SND ENVELOPE 
SND_ENVELOPE 
SND ENVELOPE 



! DUP generic command envelope field definition 



SND_ENVELOPE 
SND .ENVELOPE 
SND_ENVELOPE 
SND ..ENVELOPE 
SND ..ENVELOPE 
SND ..ENVELOPE 
SND ..ENVELOPE 



[ .NSD_SLUT, CMD..LREF 



.REF_NUMj 



•Load command ref number 



[ .NSD..SL0T 
[ ,NSD_SL0T 
t .NSD SLOT 
C.NSD.SLOT 
r.NSD_SL0T 
[ .NSD.SLOT 



CMD HREF] - ZERO j 
UN_LUSED1 « ZERO} 
UN HUSED'J - ZERO; 
OPCODE 1 - OP. ESP; 
RSVD1 - ZERO; 
MODIFIER] - ZERO; 



!Zero Hi ©rde** word of cmd ref 
?Not used in DUP i mpl imentat I on 
! Not used in DUP i mpl imentat ion 
•Load the command op -code 
!Not used 



Command specfic command envelope field definiti 

Byte count of initial transfer (from bytes 0-3 
of the program header). 



on 



SND 
ND 



ENVELOPE 

ENVELOPE 



I .NSD 

[ .NSD 



SLOT, 
SLOT. 



BLO CNT] 
BHlICNT] 



.A^FMTR 
.AZFMTR 



[UROO] 
rWRDl] 



IByte 
•Byte 



count 
count 



low word 
high word 



Buffer descriptor definition for initial load, I irst 
byte of this buffer is byte of program header. 



SND ENVELOPE [.NSD_SL0T. 

SND_ENVELOPE [.NSD SLOT, 

SNO„ENVEL0PE { .NSD SLOT, 

SND„ENVELOPE [.NSD SLOT, 

SND_ENVELOPE [.NSD SLOT. 

SND_ENVELOPE [.NSD SLOT, 

SND. .ENVELOPE [.NSD SLOT. 

SND_ENVELOPE [.N5D„SL0T, 

SND ..ENVELOPE [.NSD SLOT, 



BPA LO] - HDSA; 
BPA_HI1 - ZEROi 
QBUS^EXT] • ZERO} 
RSVl ■ ZEROs 
UBA CHAN] - ZERO j 
RSVO] - ZERO 
RSVl] - ZERO 
RSV2J - ZERO 
RSV3] - ZERO 



.'Low un i bus adrs *'0-l l >> 

lUnibus adrs bits < 16-17* 

,'Q.bus extent »on adrs 

.•Reserved field 

fUnibus adaptor channel number 

! These next fou** words arc not 

!used in the DUP implementation 
i 



These next field definitions tire the same 
as above except they are for the overlay 
buffer descriptors, To make life easy for 
me I'll use the same names and ju' prefix 
them w : th a $ for uniqueness. 

The overlay area immediately follows the 



Mi ) 



mi.2 



ZRQ84 


REV C PATCH 


; C 3176 1 


; C 3177 1 


{ C 3178 1 


; C 3179 1 


; C 3180 1 


; C 3181 1 


; C 3182 1 


{ C 3183 1 


; C 3184 1 


; C 3185 1 


; C 3186 1 


; C 3187 1 


; C 3188 1 


; C 3189 1 


5 C 3190 1 


; C 3191 1 


; C 3192 1 


; C 3193 1 


; C 3194 1 


; C 319!: 1 


; C 3196 1 


; C 3197 1 


; C 3198 1 


; C 3199 1 


s C 3200 1 


; C 3201 1 


; C 3202 1 


; C 3203 1 


; C 3204 1 


; C 3205 1 


; C 3206 1 


j C 320 7 1 


; C 3208 1 


; C 3209 1 


? C 3210 1 


; C 3211 1 


j C 321? 1 


; C 3213 1 


; C 3214 ] 


5 C 321!) 1 


; C 3216 1 


; C 3217 1 


l C 3218 1 


; C 321.9 1 


; C 3220 1 


t C 3221 1 


; C 3222 1 


; C 3223 1 


; C 3224 1 


; C 3225 1 


; C 3226 1 


; C 322/ 1 


j C 3228 1 



RDRX DISK FORMAT T£R 
GLOBAL ROUTINE DECLARATIONS 

! initial load Image in the program Image. 



5-Mar-1984 14:51:26 
5-Mar-1984 14:40:58 



VAX-11 Bliss 16 V4. 0-579 

DISK *USER2 : [ YOUNG . FMT "JZRGIB4 , B16 j 3 



SEQ 0155 
Page 52 
C15) 



SND_ENVELOPE 
SND_ENVE10PE 
SND^ENVELOPE 
SND ENVELOPE 
SND ENVELOPE 
SND.ENVELOPE 



SND 
SND 



ENVELOPE 
ENVELOPE 



;ND ENVELOPE 



.NSD^SLOT, 
.NSD SLOT, 
,NSD„SLOT, 
,NSD_SLOT, 
.NSD.SLQT, 
.NSD„SLOT, 
.NSD_SLOT. 
.NSD_SLOT, 
.NSD. SLOT, 



*BPA_LO] * .OVSAj 
$BPAjtf] - ZERO; 
SQBUS_EXT) - ZERO; 
*RSV] « ZERO; 
$U6A_CHAN1 ■ ZERO; 
4RSV0] - ZERO; 
IRSVll - ZEROj 
*RSV2] ■- ZERO; 
*RSV3] - ZERO; 



♦Loh unibus adrs <0-15> 

! Unibus adrs bits <16-17> 

! Globus extent ion adrs 

•Reserved field 

! Unibus adaptor channel number 

J These next four words are not 

{used In the DUP implementation 



Call the load outstanding command buffer routine 
and load this command into the buffer. The return 
from this routine will point us to the buffer location 
where this command is stored. Later we con look ot 
this location to see if the interrupt service routine 
has received and process it. 

ESP.BUFSLOC - L0AD_0UT*STD._BOr (.REF..NUH); Hood the command 

f .ESP_BUF$LOC eqlu 0BF..CQDE then DECODE (); 'Error if buffer is full 



Set the ownership bit to 
to the port/controller 



1 giving this slot 



SEND JUNG [.NSD. .SLOT, 0WN_BIT] - P0RT..0UNED; 

Read the IP register to stimulate port polling 
TEMP » .RDRX.ADDR fRCIP, RC^ALLl; 

Time out the port/controller processing -he command. 

The first test tests the connections ability to 
respond to this command without any errors in the SA 
register and for the command not timing out. 

The second tests the DUP server for good status, If 
bad status is sent back then an error code is returned 
to the calling routine where the routine "decode" will 
decode and take the appropriate recovery. The time 
out routine will loop on delaying and checking the hi 
bit of the first word in the outSstd buf for a true. 
When true signals us that the interrupt service routine 
has received the endpacket and no connection errors 
were detected, 

f CTO.UAIl" (*o'3000'. .HtK.NUM, .LSP.BUFSLOC) then DECODE C); 



Is return an error 



Ml i 



7RQ84 

REV C PATCH 



C 3229 
C 3230 
3231 
3232 
3233 
3234 
3235 
3236 
3237 
3238 
3239 
C 3240 
C 3241 
C 3242 
C 324 3 
C 3244 
3245 



N12 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



5-Mar~1984 14:51:26 
5 -Mar -1984 14:40:58 



SEQ 0156 
VAX-11 Bliss-16 V4, 0-579 Pag* 53 

DISK $U5ER2 s t YOUNG . FMT ] ZRQB4 . B16 } 3 C 15 J 



Get the return envelope address from the ©ut$std_buf 
at this commands buffer location and check the packet 
for good status error and die IF bod status was returned 

RETJENSAD - .OUUSTD.BUE [ . ESP_BUF$LOC, ENV.ADR'Jj !Get the ret env adr 

Now test for good status 



)« 



if ,RF.T_EN$A0 rSTATUS] nequ ZERO 
then 

return RET .STATUS * RSE.CODE 
else 

return ,RET„STATUS j 

end; 



.'Test the status 

! Re turn a "Response status err'' code 

J This ret^status !s good or bad 



) 



/RQB4 
RF.V C 



PATCH 



RDRX DISK FORMAT TIM 

GlORAl ROUTINE DECLARATIONS 



Mar 1984 
Mar -1984 



14tMi?6 VAX-ll Bliss 16 V4.0 5/9 
14j40}56 DISKIUSEHOil fOUNG,EMT )ZRQB4 ,816 



I* 



SEQ 01"W 
Page 54 
(16 J 



304b 

304 / 
504 B 

3049 
5050 
50S1 
30V 
5055 
50M 
5055 
3056 
5os : 

30*»8 

50 r <9 
5060 
-VM 
5060 
306 < 
5»»t.4 
3065 
3066 
506 ; 
30*8 
5 Of! 9 
50/0 
50/1 
50 V 
50 M 
*>. } /4 
50 '5 
50 -V. 
50' ■' 
50 *8 
50 •* 
50BO 
5081 
508c* 

308 5 
3084 
5085 
3086 
308? 
3088 
3089 
3090 
3091 
3090 

309 5 
5094 
3095 
3096 
3."*.' 



global rout Ins EX IOC. PROG * lExecutes local program 



functional Description : 

Rsccipt of this command causss ths controller to search Its local 
madia for ths namsd program, load and execute It. Receipt of a 
succsssful rssponss by ths host msans that th*» program !s e*vecut!ng 
and ths ssrvsr is in ths active stats. Ths t»me out value fof this 
command is spsc i f i ed In ths oet dust rssponss 

► ormal Parameter* j 
nons 



Implicit Inputs 
NS0.SL0T 



This global storage gets loaded by ths rout'ne 
'Gst nsd' snd »n it is storsd ths ne*.t asnd ring 
descr ptor slot whsre ths port/control lsr should 
bs ooLl'ng on and ths piacs to put thij* command* 
co^nand pack st . 



Implicit Outputs 
nons 

Complet ion Codes 
RET .STATUS! 



Rsturn status 
ths status of 



passss bacU to ths calling rout ins 
ths just i ssusd command. 



Side Effscta : 

Ths DM machine In ths control lsr goss from ths idle vtate 
active state on return of 'i successful return packet, 



begin 



to the 



local 

RM NUM. 
ELP BUf $L0C, 
TEMP, 



Before we load up the command pac^wt up 
with all this good information get the 
ne*t send descriptor slot and a unique 
command reference number, 



! Stores unlo>.#S Ctvd r*f AjmotP 

[Store* out %\,t and i ng cmd buffer location 

!A place to «tore the read IP rcQ'^ter data 



GE T 
RtE 



NSD 

Nun 



( 



GET 



CMDtREE ( )j 



)v,#t the n«nt v*r>d deq slot 
!L.et a unique command » tf num 



UQ Port command envelope Header f.eld definition 

'iNO.ENVMUPf [ .NSD SI 01. MSu MNO'H] - S/J-.LPi S oad the m«siege «ii.*e 

SNDJNVf l.OPf I.NS0.S10T, CRf UHM • QNf | .'load tr.e credit «* : /e 

SN0, ENVELOPE UNSD.SLOT, MSU.TtPE] * 0\ »U«fine th< m»jg tvP 'Sequential 



i J 



r. 



/RlJB4 




Rev C rrtT 


CH 


; 3299 




i 3*00 




i 5501 


I 


3502 


■v 

1 


j 5505 


1 

V. 


; 5504 


■i 


; 550 r » 


% 


j 5506 


» 


; 550 : 


> 


; 5508 


4 * 


i 5509 


1 . 


i 5510 


'1 
I. 


; 3511 




551,* 


1 


; 5 515 


> 


i 5314 




i 55 IS 


1 


! 351* 


J 


i 531 ; 


c 


; 3518 




; 5319 




j 3320 


' 1 


j 5321 


I. 


; 35?? 


2 


{ 3323 


2 


; 3324 


I 


; 332^ 


1 

I. 


; 3326 


i . 


i 332? 


) 


; 3328 


* 


; 3329 


'i 


; 3330 


1 


; 3331 


2 


; 3332 


2 


; 3353 


i. 


; 3334 


2 


j 3535 


2 


; 3336 


c. 


; 333/ 


2 


; 3556 


r 


; 333'* 


2 


; 3340 


2 


; 3341 




; 3342 


■ . 


; 3 34 3 




j 3344 


r 


3 54 r , 




; 3 34*, 


' l 


; 5 54 / 


\ 


i 3348 


t 


} 354^ 


" l 

t 


; 3V.0 


< 


} 53S1 


2 







RDHX DISK » ORM/HHM 

GLUBAl ROUTINE DECl AHA T IONS 



f> Mar- 1984 14; Si: 26 
5 Mar 1984 14.40:58 



VAX -11 Bliss If. V4.0 5/9 

DISK $USER2:[ YOUNG. FMT]ZRQB4,B16 { 3 



.EQ 01VJ 
Page 



(16 



SNO 



ENVELOPE f,NSD_SLOT, CONN .11) ] ■ 2| 



♦Define tht connect Jo ID ' DUP 



! Dl>P generic command envelope Field def!n ! t!on 



SNO_ENVELOPF I, NSD. SLOT, CMD..LREM ■ .REf.NUrl, 



SNO ENVELOPE 
SNO ENVELOPE 
SNO ENVELOPE 
SNO ENVELOPE 
SNO ENVELOPE 



[ .NSD SLOT 
t .NSD SLOT 
[ .NSD. SLOT 
[ .NSD SLOT 
[ ,NSD 



CMD.HREF) • ZEROj 
UN LUSED] » ZEROj 
UN.HUSED) • ZEROj 
OPCODE) • OP_ELPj 
RSVD] • <*ERO 



{Load the command ref number 



{Zero the Hi order cmd ref nuw 
!Not used In DUP I mpl I men tat ion 
!Not used !n DUP I mpl I men tat Ion 
{Load this commande op -code 
{Not used field 



SNO .ENVELOPE (,NSD_SLOT, MODIFIER] • DUP .STNOj .'Define modifiers for this cmd 
Command specflc command envelope field definition 



SNO ..ENVELOPE t .NSD SLOT, PN 0] - TO 
SNO ENVELOPE [.NSD SLOT, PN 1] ■ ' RM 
NO ENVELOPE f .NSD SLOT, PN 2 1 • 'AT 1 



{Program name word 
{Program name word 1 
{Program name word 2 



Call the load outstanding command buffer routine 
and load this command into the buffer. The return 
from this routine will point us to the buffer location 
where this command •• etored. Later we can l©o^ at 
this location to see If the interrupt service routine 
has received and process It. 

El.P^BUMLOC ■ L0AD_OUTISTD_BU^ ( .REF..NUM) | {load the command 

if .ELP_BLMLOC eqlu OBF _C0DE then DECODE C)| {Error if buffer i*j full 



Set the ownership bit to 
to the port /controller 



1 giving this slot 



SEND_RING (.NSD. SLOT, OWN .BIT 1 • PORT.OWNEDj 

Read the IP register to stimulate port polling 

TEMP - ,RDRX_ADDR [RCIP. RC.ALLli 

Time out the port/controller processing the command. 

The first test tests the connections ability to 
respond to this command without any errors In the SA 
register and for the command not timing out, 

The second tests the DUP n*rvr for good status. If 
bad status Is sent beck then an error code is returned 
to the calling routine where the routine decode" will 
decode and ta*<e the appropriate recovery. The time 
Out routine will loop on delaying and checking the hi 
bit of the first word in the outletd.bu* for a true. 
When true signals us that the Interrupt service routine 
has received the endpocket and no connection errors 



i •> i 



JRiHM 
REV C 



PATCH 



3353 
3354 

3355 

335b 

335/ 
3358 

3359 
33*0 
3361 
3562 
33b 3 
33b4 
3365 
3366 
3S6V 
3368 
33g<* 
33 70 
33/1 
33 72 
3373 



1)1 y ; 



RDRX DISK fORMAJTER 

GLOBAL ROUTINE DECLARATIONS 

! were detected. 



5 -Mar -1984 14:51:26 
T> -Mar. 1984 14:40:58 



VAX -11 nit 99 lb V4.0 5/9 
DlSK$USER2:f YOUNG. FMT ]ZRGlB4,B16j 



5EQ 0159 

Paoe 56 
3 fib) 



If CTOJJAIT (3000, .REE. NUM. .ELP„BUE»LOC) then DECODE ()i lis return an error 

i 

! Get the return envelope address from the outtstd_buf 

! at this commands buffer location and chec^ the packet 

! for good status error and die !f bad status was returned 
I 

RET_EN*AD - ,0UT5STD_BUf [ .ELP .BUFILOC. ENV.,ADR]j !Li«t the ret env adr 
i 

! Now test for good status 



If .RET_FN$AD [STATUS] neou ZERO 
then 

return RET. STATUS ■ RSE_C0DE 
else 

return ,RET_STATUS; 

and: 



.•Test the status 

.♦Return a "Response fitatus trr' code 

•This ret_status Is good or bad 



000000 004 1 ? 7 000O00G 



000 00m 
000006 
000012 
000016 

000020 
000024 
000030 
000034 
000042 
000046 
000050 
000054 
000062 
000066 
0000 72 
0000 76 
000102 
000110 
000114 
000122 
000130 
000136 
000144 
000146 
000152 
000154 



005746 
004 737 
004 737 
010002 
013746 
012746 
004737 
012760 
012701 
060001 
U27U 
112/61 
010260 
005060 
005060 
005060 
112 7 60 
105060 
012760 
012^60 
012760 
012 760 
010216 
004 73 7 
010001 
02012 7 



000000' 
000146* 

OOOOOOG 

000054 

OOOOOOG 

000060 

000002G 

000O01 
00OO02 
000004G 
000OO6G 
0000 10G 
0000 12G 
000003 
0000 15G 
000001 
04 7506 
046522 
052101 

000054 * 

00200] 



OOOOOOG 



000001 



0000 14G 

0000 IbG 
000020G 
000022G 
000024G 



.SBTTL 
EX.LQC.PROG: : 
JSR 
TST 
JSR 
JSR 
MOV 
MCV 
MOV 
JSR 
MOV 
MOV 
ADD 
MOVB 
MOVB 
MOV 
CLR 
CL.R 
CLR 
MOVB 
CIRR 
MOV 
MOV 
MOV 
MOV 
MOV 
JSR 
MUv 
CMP 



••RtT.NUM 



EX.LOC.PROG GLOBAL ROUTINE DECLARATIONS 



R1.ISAVE2 
(SP) 

PC.GET.NSD 
PC.GET.CMDiREL 

R0.R2 

NSD.SLOT, (SP) 

054, (SP) 

PC.Bl IMU. 

060.5N0.ENVEI OPE (HO) 

OSNO. ENVELOPE »2,R1 

RO.P.l 

01, (R1 ) 

02.UR1) 

R2, SNO. ENVELOPE »4(R0) 

SNO. ENVELOPE. 61R0) 

SNO,ENVEL0PE»t0(R0) 

SN0.ENVEL0PE*12(R0) 

03, SNO .ENVELOPE* 14 (RO) 

SNO,FNVELOPE.15(R0) 

01, SNO. ENVELOPE »16(R0) 

04 7506 , SNO . ENVELOPE *20( PO > 

046522 , SNO . ENVELOPE »«V( RO ) 

052101 , SNO. ENVM OPE »24(R0) 

R2 , ( SP ) 

PC, i oap.outisid.hu 

RO.Rl 
R 1,02001 



I REF.NUM,* 



i RE> .NUM.* 

I * Li P. HI* h OC 
1 EtP.'.H'KSl OC,* 



3246 

3291 
3292 

3296 



329 : 

32">H 
329^ 
3 303 
3304 
3 30^ 
330#> 
330 * 
3308 
3 30 1 ' 
3313 
3<14 
3315 
3 V*4 



3?. 



H 1 : 



/ 



2RQB4 




RDRX DISK FORMA 


REV C PATCH 


GLOBAL ROUTINE 


000160 


001002 






000162 


004 73 7 


000250 ' 




000166 


013700 


OOOOOOG 




00017^ 


006300 






000174 


006300 






000176 


063700 


OOOOOOG 




000202 


052760 


100000 


000002 


000210 


017766 


OOOOOOG 


000004 


000216 


016600 


000004 




000222 


012716 


0056 70 




000226 


010246 






000230 


010146 






000232 


004737 


002116' 




000236 


022626 






000240 


006000 






000242 


103002 






000244 


004737 


000250' 




000250 


010100 






000252 


006300 






000254 


006300 






000256 


016037 


000002G 


OOOOOOG 


000264 


016000 


000002G 




000270 


005760 


000016 




000274 


001405 






000276 


012700 


000031 




000302 


010037 


OOOOOOG 




000306 


000402 






000310 


013700 


OOOOOOG 




000314 


062706 


000006 




000320 


00020 7 







5-Mar- 1934 14;5l!26 
5Mar-1984 14;40s58 





BNE 


1$ 






JSR 


PC .DECODE 




1$; 


MOV 


NSO.SLOT.RO 


J 




ASL. 


RO 






ASL 


RO 






ADD 


SEND, RING, RO 






BIS 


0100000, 2(R0) 






MOV 


6)RDRX.ADDR,4CSP) 


; 




MOV 


4CSP),R0 






MOV 


05670, (SP) 






MOV 


R2, -CSP) 






MOV 


Rl.-CSP) 


i 




JSR 


PC.CTQ.WAIT 






CMP 


(SF)»,(SP)» 






ROR 


RO 






BCC 


21 






JSR 


PC, DECODE 




2*; 


MOV 


Rl.RO 


• 




ASL 


RO 






ASL 


RO 






MOV 


0UT*STD.BUr*2(R0),RET,EN$AD 






MOV 


0UT$STD.BUf*f2CR0),R0 


! 




TST 


16CR0) 






BEQ 


3$ 






MOV 


031.R0 






MOV 


RO, RET. STATUS 






BR 


4i 




3$: 


MOV 


RET.STATUS.RO 




4$: 


ADD 
RTS 


06, SP 

PC 





SEQ 0160 
VAX-11 Bliss 16 V4.0 5/9 Page 57 

DISK$USER2j[ YOUNG. FMT URQB4 .B16;3 f 16 ) 



3332 



; *,RC$S.REG 

RCiS. REG, TEMP 

RKf . NUM , ♦ 

i ELP.BUE$LOC* 



33 36 



; ELP.BUr$LUC,* 



3362 

3369 

3 5 T 1 
3246 



Routine Size: 105 words, Routine Base: iCODE* 
Maximum stock depth per invocation! 9 words 



3102 



3374 



7RQB4 
REV C 



PATCH 



55 ib 
7.5 ,'6 

5577 
55 78 
55*^ 

5580 
5 58x 

5585 
5584 

558b 
558 ' 
3?88 
5 58^ 
55^0 
5591 
55S^ 
5595 
55^.4 
559S 
5596 
5597 
5598 
5599 
5400 
5401 
540? 
5405 
5404 
540S 
54 0b 
540' 
54 08 
540^ 
5410 
54 11 
541? 
54 15 
54 14 
54 1!, 
541b 
54 1 ■' 
5418 
54 lw 
54?0 
3421 
54?? 
54? 5 
54 ?4 
54?'. 
54 'b 
54 W 



RORX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

global routine SEND. DATA (mslen) - 



S-Mar-1984 
r > -Mar 1984 



14; 51s 26 VAX -11 Bliss lb V4.0 b?<* 

14; 40: 58 DISK JUSER2: [ YOUNG. FhT )ZRQB4 .616 j 3 



iEU 0161 
Page 58 
fl/J 



Performs host-->port commun !cat Ions 



Functional Description : 

These commands are used to communicate between the initiating host 

program and the remote program. Both send and receive commands 

specify a r it buffer descriptor and a byte count. In the case of 

send data, the Information In the buffer is read by the remote program 

and 

I 

b« 

receive data response to the host to notify it of the transmission, 



•end data, the Information In the buffer is read by the remote program 
>nd a send data response sent back to the host to acknowledge receipt 
'.n the case of receive data the remote program writes data into the 
>uffer up to the amount specified by the byte count and then sends a 



The send data and receive 
server Is in the active 
abnormally, putting the s« 
send data and receive dat 
the specified timeout inte 
Issue a get dust staus 
still running (is, the 
progress indicator should 
should be re- instal led, I 
response and a second ge 
having made no progress 
considered broken and should 

Formal Parameters : 
none 



data commands are ohly legal when the 

state. If the remote program terminates 
ryer back in the idle stae, outstanding 
a commands may be lost . In the event that 
rval is exceeded, the host program should 

command to see if the remote program is 
dup server is ective)j if it is, the 

be remembered and the timeout interval 
f the second timeout expires without a 
t dust status shows the remote program 

. n the interim then the program should be 

be aborted. 



Implicit Inputs 
NS0..SL0T 



This global storage gets loaded by the routine 
'Get nsd' and in It Is •stored the ne». t send r i ng 
descriptor slot where the port /'contro 1 ler should 
be polling on and the place to put this commands 
command packet. 



Implicit Outputs 
none 

Complet i on Codes 
RLT..STATUS: 



Side Effects 
none 



begin 

local 

RM NUM, 
SNC HUFM.OC 
TEMP j 



Return status passes bac^ to the calling routine 
the status of the just Issued command, 



! Stores unique cmd re* number 

! ''tores out $st and' r»g end buffer locnt'on 

!A place to put rend IP register data 



ZRUB4 




REV C PAT 


CH 


34.>8 




34^9 


4_ 


i 3430 


1 

L 


; 34 3 1 


\ 


; 34 .V 


^ 
L 


; 34 5? 


'1 


; 34 34 


% 


; 34 35 


ts 


; 5436 


C. 


; 343' 


t - 


: 34 58 


1 


; 34 39 


'1 


; 3440 


^ 


t 344 1 


1 
I 


; 344? 


■■} 


344? 


"1 


; 3444 


"1 


; 34 4 5 




; 344b 


■1 


j 344 7 


"1 

c 


; 3448 


•> 


; 3449 


~» 


; 3450 


"> 


; 3451 


2 


j 34^? 


'1 

I. 


; 3453 


p 


; 3454 


* . 


; 3455 


.1 


345b 


"1 


; 345/ 


(. 


; 3458 


"> 


i 3459 


} 


; 34 60 




: 3461 


"> 


i 346c J 


1 


; 3463 




346 4 




; 3465 


"> 


; 3466 


-1 


; 346/ 


.1 


; 3468 


f> 


; 346^ 


'1 


; 34 ;0 




34 / i 


1 


: 34 /V 


'1 


; 34/5 


I. 


; 34 /4 


i. 


; 34 /'> 


r , 


; 34 /6 


■ i 


; 34 / / 


t . 


; 34 78 


f . 


; 34 ."* 


i 


j 3480 


2 



I'.'i 



X 



RDR\ DISK FORMAT ii R 

fiLOBAl. ROUTINE DtCLARAT IONS 



5 Mor- 1984 
5 -Mar -1984 



14:51: ^6 VAX -11 Bliss 16 V4. 0-579 

14 1 40 j 58 DISK $USfcR? ; { tOUNG . FMT ]/PQB4 , £3 16 j 3 



>EQ 016,' 
Page 59 
(17) 



Be for* we load up the command packet up 
with all this good information get the 
ne\t send descriptor slot and a unique 
command reference number. 



NSD 
NUM 



O 



GE1 .CMD1REF () 



•Get 
•Get 



i 
i 
j 
i 
i 
I 
ge t 

REF 
j 

* UQ Port command envelope Header field definition 
j 

f>N0 ENVELOPE 
5N0 ENVELOPE 
SNO ENVELOPE 
SND ..ENVELOPE 
i 

! DUP generic 



the next 3end desc slot 
a unique command ref nmn 



[ .NSD 
[ ,NSD 
f .NSO 



5;lot 

SLOT 
SLOT 



MSG LENGTH] » SZ 
CREDITS] - ONE; 
MSG nrPE] - 0} 
CONN ID] • 2 1 



[ .NSD. SLOT, 
command envelope field definition 



SEDi JLoad the message si/e 

!L.oad the credit si/e 
.•Define the message typ 'Sequential 
•Define the connection ID 'DUP' 



SND 
SNO 

SNO 
SNO 
SNO 
SNO 
SNO 



ENVELOPE 
ENVELOPE 
ENVELOPE 
ENVELOPE 

ENVELOPE 
.ENVELOPE 
ENVELOPE 



[ .NSO .SLOT, 
f .NSD^SLOT, 
f .NSD_SL0T, 
[ .NSO SLOT, 
[ .NSD.. SLOT, 
[ .NSD SLOT, 
[ .NSD„SL0T, 



CMO.LREF] - .REF 

CMO.HREF ] - ZERO; 

i.JN I USED] - ZERO j 

UN MUSED] - ZERO; 

OPCODE] • OP SED; 
RSVD] - ZERO} 

MODIFIER] - ZEROi 



Command spec fie command envelope field definition 



NUM j ILoad command reference number 
!/ero Hi order cmd r^f number 
J Not used in DUP i mpl ! men * at i on 
•Not used in DUP i mpl I men tat ! on 
H.oad this commands op code 
•Not used f ield 
•Define the commands modifiers 



Byte count Of transfer 



SNO, 
SNO 



ENVELOPE 
ENVELOPE 



[ ,NSD_SL0T, 
[ .NSD 



SLOT, 



BLCCNT] 
BHI CNT] 



.mslen j 
ZERO; 



!Byte count 
•Byte count 



low word 
high word 



! Buffer descriptor definition 



SND .ENVELOPE I. NSD. SLOT, BPA..1.01 - SNO BUM 

SNO .ENVELOPE [.NSO SLOT, BPA HI] • ZERO; 

fiNO .ENVELOPE [.NSD SLOT, QBUS EXT] - ZERO; 

SNO ^ENVELOPE [.NSD SLOT, HSV] - ZERO; 

SN0_ENVEL0PE [.NSD. SLOT, U6A CHAN] - ZERO; 

SN0_ENVEL0PE [.NSD SLOT, RSVO) - ZERO 

SND .ENVELOPE [.NSD SLOT, RSVl J - ZERO 

SND. ENVELOPE [.NSD ..SLOT, RSViM - ZERO 

SND ENVELOPE [.NSD SLOT, H5V3) • ZERO 



Buffer physical adrs *0 15' 

Buffer physical adrs bits <[f»W> 

Q .bus extent ion adrs 

Reserved field 

UnibuS adaptor cnannel number 

These ne>.t four words are not 

used in the UQ Port implementation 



Call the load out $ standing command buffer routine 
and load this command into the buffer. The return 
from this routine will point us to the buffer location 
where this command is stored. later *e can loo^ at 
thly location <o see it the interrupt service routine 
has received and process it. 



1-1 1 /) 



7RQB4 




REV C PATCH 


; 3481 


i. 


; 34U? 


? 


i 3483 


? 


; 3484 


"> 


; 3485 


> 


; 3486 


2 


; 3487 


3 
l 


t 3483 




3489 




; 3490 


V. 


; 3491 


?. 


; 349? 


? 


; 349? 




; 3494 


1 

I. 


3495 


■ > 


. 34% 


c. 


; 3497 


? 


5 3498 


a 


; 349^ 


? 


; 3500 


? 


t 3501 




; 350? 


? 


; 3503 




{ 3504 


c. 


: 3505 


» 

»_ 


; 3506 


-> 


; 350 1 


? 


; 3508 




; 3509 


> 


: 3510 


? 


; 3511 


"i 


; 351? 


') 


; 3513 


2 


; 3514 


? 


; 5515 


'3 


; 3516 


'1 


; 3517 


c. 


; 3518 


s 


i 3519 


? 


; 35?0 




; 35? 1 


? 


: 35?,. 





; 35? 3 




; 3524 


? 


5 35?5 


■> 


; 35?6 


■ J 
I 


; 35". / 


') 


i 3528 


?. 


; 35?9 


3 


j 35 50 


^ 


; 3531 


-/ 


; 35'.? 


3 


j 353 3 


3 







RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



5 -Mar- 1984 14:51:26 
5~Mar-1984 14j40;58 



SEQ 0163 
VAX-11 Bliss 16 V4, 0-5/9 P QQ e 60 

DISK $USER2: [YOUNG. FMTJZRQB4.B16; 3 C 17) 



SNDJtUFiLOC ■ L0AD_0UT$STD_BUF (.REF„NUM), JLoad the command 

if .SNO.BUFSLOC eqlu 0BF,C0DE then DECODE ()j !Error if buffer Is full 

Set the ownership bit to 1 giving this slot 
to the port /controller 

END..RING [.N5D_.Si.0T, OWN ..BIT] ■ PORT. OWNED} 

Rend the IP register to stimulate port polling 

TEMP - .RDRX_ADDR (RCIP, RC.ALLh 



Time out the port/controller for the response from this 
command. 

If the controller times out then; 

1. See what kind of error was returned. If the error 
is a type other than a CT0_C0DE (controller time out) 
then call routine Decode which does the appropriate 
action based on the error. 

2. If the returned error is an CT0..C0DE then do a get 
dust status and check the progress indicator to look 
for an increase, indicating that the remote program is 
still running and is not dead. 

If the indicator hasn't changed then assume that the 
remote program is dead and return an error code of 
RPD„C0DE (remote program oead code) and exit, 

If the indicator has changed then assume that the 

remote program is still running, save a copy of its 

value and reinstate the controller time out delay and 
repeat the loop. 

As long as the progress indicator in the remote program 
is still increasing this loop will be repeated for ever 

If the controller doesn't time then return with the return 
code returned from routine CT0..WAIT () which could be either 
a success or error code by definition of this host code 



while TRUE, do 
begin 

BREAK; 
i 

! Do a controller time out and determine if the controller 
! hati procetitted the command or if a fatal error r vs occured 



{Repeat for ever 
.Flag control C s 



1. 1. 3 



ZRQB4 




REV C PATCH 


3534 


? 


j 3535 


3 


; 3536 


3 


; 3557 


3 


; 3538 


4 


; 353^ 


4 


; 354 


4 


; 3541 


4 


{ 354J> 


4 


; 354 3 


4 


; 3544 


4 


; 3545 


4 


; 3546 


4 


i 354 7 


4 


; 3548 


4 


; 3549 


5 


; 3550 


5 


; 3551 


5 


; 355^ 


5 


; 3553 


5 


; 3554 


5 


; 3555 


5 


; 3556 


5 


; 3557 


5 


; 3558 


5 


: 3559 


5 


; 3560 


5 


: 3561 


5 


; 356;? 


5 


i 3563 


r 


; 3564 


4 


; 3565 


4 


; 3566 


4 


; 3' .6 7 


4 


; 3568 


4 


; 3569 


4 


; 35/0 


4 


; 3571 


4 


; 35/<> 


4 


; 35/3 


"5 


i ^574 


4 


; 35/5 


4 


; 3576 


4 


s 35 / / 


4 


: 35 7 H 


4 


; 35/9 


4 


; 3580 


4 


; 5581 


4 


; 358^ 


4 


; 358 3 


4 


; 3584 


4 


; 35M5 


4 


; 3586 


4 



RDRX DISK FORMAT H.R 

GLOBAL ROUTINE DECLARATIONS 



^ 



5-Mar~1984 14:51:26 
5-Mar-1984 14-40:58 



VAX -11 Bliss- 16 V4. 0-5/9 
DISKSUSEP^sf r0UNG.FMT]ZRab4.B16;3 



SEQ 0164 
Ptige 



61 
(17) 



if CTO..WAIT (3000, .REF_NUM, , SND^BUF Jt.OC ) 
then 

begin 



lis return on error 



If the return status code eql's a CTO.CODE 
then see if the remote program is still 
running. If it is then save the progress 
indicator e>r\ri repeat the loop else call 
routine Decode (), 



! Is this a controller time out 



f ,RET„STATUS eqlu CT0„C0DE 
then 

begin 

REF^NUM = ,REF.,NUM { 



if GET..DUST .STATUS () then DECODE (); 'Get the dust status 



if .RE-T ENJAD tPLO INO ] gtru .PID SAVE 'Any progress been made 
then 

PID. SAVE « .RET.ENJAD TPLO IND] {Still running save Pid 
else 

return RET. STATUS ■ RPD.CODEj !No progress so flag error 
end 



else 



The return status code was not a controller time 
out code so something else is wrong. Call the 
routine Decode O to find Out what went wrong. 



DECODE ( ) 



else 



end 



begin 

The command has been received by the interrupt service. 

Get this commands return envelope address out of the 
outistd buf end chec^ for good return status error and 

die if had status. 



RET E.N*AD - .OUT$STD.BUF [ , SND BUE $LUC, ENV...ADR]j 
Test for good status 



J Get the ret env adr 



i » ? 



/RQ84 




rev C PAT 


CH 


; 35&7 


4 


5 3588 


4 


; 358<> 


4 


; 3590 


4 


; 35«-»l 


4 


; 3592 


4 


3593 


3 


j 3594 


•T 


; 3595 


) 
I. 


; 3596 




; 3597 


i 


; 3596 


1 







RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



If .RI-T.ENJAD [STATUS] nequ ZERO 
then 

return RET .STATUS * RSE..CUDE 
else 

return .RET_STATUS; 

er\6t 



end; 

return .RET.STATUSj 

end; 



JL* 



; 



5 -Mar- 1984 14:51:26 
5Mar-1984 14:40:50 



VAX-11 Bliss 16 V4.0 579 
DISK$USER2:tY0UNG.FMT)ZRQB4.Bl6j3 



SEQ 0165 
Page 



62 
(1/) 



! Test the status 

! Return a "Response status trr" code 

!Th!s ret^status Is good or bad 



fit won't compile without this here 



000000 00413? OOOOOOG 



000004 
000006 

00001;' 

000016 
000020 
000024 
000030 
000034 
000042 
000046 
00005C 
000054 
00006? 
000066 
000072 
000076 
000102 
000110 
000114 
000120 
000126 

00013;? 

0001.40 
000144 
000146 
000 1 50 
000154 
000160 
000164 
000170 
000174 
0001/6 
000202 
000204 
000210 
QC0212 



005/46 
004 73/ 
004/5/ 
01000? 
013746 
012746 
004 73/ 
012760 
012701 
060001 
112711 
112761 
010260 
005060 
005060 
005060 
112 760 
105060 
00^060 
016660 
005060 
012 /bO 
012/01 
060001 
105011 
105061 
005060 
005060 
005060 
005060 
010216 
004 7 ^ ? 
010001 
02012/ 
00100? 
004 737 



000000 ' 
000146' 

OOOOOOG 

000054 

OOOOOOG 

000034 

000002G 

000001 

000002 

000004G 

000006G 

000010G 

0000 12G 

000004 

0000 15G 

000016G 

000016 

000022G 

OOOOOOG 

000026G 



000001 
0000 3 Of. 
000032G 

0000 34 (> 

oooo 3 w; 

000054 ' 

002001 

000250' 



OOOOOOG 
000001 

000014G 

000020G 
000024G 



.SBTTL 
SEND. DATA:: 
JSR 
1ST 

JSR 

JSR 

MOV 

MOV 

MOV 

JSR 

MOV 

MOV 

ADO 

M0V8 

MOVB 

MOV 

Cl.R 

Cl.R 

CLR 

MOVB 

CLRB 

CLR 

MOV 

CL.R 

MOV 

MOV 

ADD 

CLRB 

CI RB 

ClR 

CLR 

CI R 

CL R 

MUV 

JSR 

MOV 

cmp 



SEND. DATA GLOBAL ROUTINE DECLARATIONS 

R1.1SAVE2 ; 

• ( SP ) 

PC.GET.NSD 
PC.GET.CMDJREf 

R0.R2 j *,REr\NUM 

NSD.Sl.OT, CSP) 

054. -(SP) 

PC.BLiMUL 

034 ,SND. ENVELOPE (RO) 

OSND, ENVELOPES, Rl 

R0.R1 

♦1.CR1) 

*?,1(R1 J 

R2,SND.ENVEL0PE*4(RO) \ REE. NUM.* 

S NO. ENVELOPE *6(R0) 

S NO. ENVELOPE »10(R0) 

SND.ENVEL0PE*12CR0) 

44.5ND. ENVELOPE ♦14(R0) 

SND. ENVELOPE M5CR0) 

S ND. ENVELOPE •16CR0) 

16(5P),SN0.ENVEl 0PE*20CR0) ; MSLEN.+ 

SND.fcNVEL0Pfc*2«?(R0> 

OSND , BUf , SNO . F NVf I OPE » 24 ( RO ) 

OSND. ENVELOPE *26,R1 

R0.R1 

(Rl ) 

KR1 ) 

SNO.ENVEL OPE »30( RO ) 

5ND.ENVEI OPE»52(R0) 

5ND . ENVELOPE. ♦ 34 ( RO ) 

SND.ENVEl 0Pf.«36CR01 

PCil OAO.OUTSSTO.BUF 

R0.R1 

R I, 02001 

1$ 

PC, DECODE 



j REE. NUM.* 

j *,sNO.Bl'f »l UC 
I SND.BUKSIOC.* 



33/5 

34 35 
34 36 

3440 



"544 1 

3442 

344/ 

:544 ; 
34 4 8 
3449 
3450 
54 51 
34 c '.? 
345 5 
34 hO 
34 hi 
34 '. c . 
34fi6 

34».H 

34r l « 

34 '0 
54 "1 

54 '/ 
34 ' 5 
54 S? 



5484 



Kl 






7RUB4 
REV C 

00021b 
000222 
000224 

000226 
00023? 
000 240 
000. Mb 
00025? 
000254 
000260 
■M02b? 
000*764 
000.? 70 
000? 7? 
000? 74 
000276 
000304 
000306 
000312 
000314 
000316 
00032? 
000326 
000334 
000336 
000344 
00034b 
00O35J 
000354 
000360 
000362 
000364 
000366 
0003/0 
0003/6 
000402 
000406 
000410 
000414 
00(i4?0 
000422 
000426 
0004 3? 



RDRX DISK y ORMATUR 
PATCH Gt ORAL ROUT INF, DECLARATION' 



013/00 
006300 
006300 
063 700 
05^760 
017/66 
OlbbOO 
10442? 
012716 
010-'4b 
010146 
004 73/ 
022626 
006000 
103032 
02372/ 
001023 
004/3/ 
006000 
103002 
004 737 
013700 
026037 
101404 
01603/ 
000 74? 
012/00 
000420 
004/37 
000/34 
010100 
006300 
006300 
0160 V 
OlbOOO 
005760 
001405 
012700 
01003/ 
000402 
013/00 
062706 
000207 



OOOOOOG 



OOOOOOG 
100000 000002 
OOOOOOG 000004 
000004 

005670 



002116* 

COOOOOG 000011 
002604' 

000250' 

OOOOOOG 

000024 OOOOOOG 

C00024 OOOOOOG 

000051 

000250' 



000002c; OOOOOOG 

000002G 
000016 

000031 
OOOOOOG 

OOOOOOG 
000006 



1*5 



2S: 



3$: 



4$ 
5 J 
6$ 



V$: 

8$ : 
9$: 



MOV 

ASl. 

ASt. 

ADD 

BIS 

MOV 

MOV 

TRAP 

MOV 

MOV 

MOV 

JSR 

CMP 

ROR 

RCC 

CMP 

BNfc 

JSR 

ROR 

BCC 

JSR 

MOV 

CMP 

BLOS 

MOV 

BR 

MOV 

BR 

JSH 

HR 

MOV 

ASl 

ASt. 

MOV 

MOV 

TST 

BEU 

MUV 

MUV 

BR 

MOV 

ADO 

rt i ; 



Rout i ne 

Max i mum 



S./e: 
Stack 



142 words. Routine Base: SCOPE* ♦ 
depth per invocation: 9 words 



5 Mar- 1984 
5-Mar-19o4 

NSO.Sl.OT.RO 

RO 

RO 

SF.ND.RING.RO 

O100O00.2CR0) 

SRDRX.ADDR.4CSP) 

4CSP),R0 

22 

056 70, CSP) 

R2, (SP) 

Rl. (SP) 

pc. cm. WAIT 

(SP)#,(SP)* 

RO 

6* 

RET. STATUS. Oil 

5$ 

PC, GET. DUST, STATUS 

RO 

3$ 

PC. DECODE 

RET.ENIAO.HO 

24(R0),PID.SAVt 

4$ 

24(R0),PID.SAVE 

2i 

051.R0 

?% 

PC. DECODE 

2$ 

Rl.RO 

RO 

RO 

OUTiSTD 

OUUSTl) 

16CR0} 

H$ 

031.RO 

«0,RET. 

9$ 

NE! .STATUS ,H0 

Ob.SP 

PC 

3424 



14:51:26 
14:40:58 



VAX 11 Bliss- 16 V4. 0-5/9 

DISK $USER2 : i YOUNG . FMT JZRQB4 , B16 ; 3 



SEQ 0166 
Page 63 
( 17) 



♦ .RCJS.Rt Ci 
RC$ S.REG, TEMP 



REE. NUM. ♦ 
SND.BVJFSLOC* 



; SND.BUFM.OC.+ 



HUE 
BU 



?CRO) ,Rt T. EN 5 AD 
2(R0),R0 



S1AIU' 



3494 

3529 

3536 



.554 i 
3554 

3558 



3560 
355H 
356,.' 

3S '0 

35o2 



35M7 

358<> 
3V»1 
35 75 



3599 



7RQB4 

REV C PAICH 

5600 
3601 
360J 

3603 
3604 
3b0S 
3606 
360 .' 
3608 
3609 
3610 
3611 
36 W. 
3t>13 
3614 
3t»!5 
3st6 
361 : 
3618 
3619 

36?0 
36;U 
36,?? 

36?3 
36<>4 

3625 
36<">6 

3t>;? / 
36 ( ?a 

36.^9 

3630 

3631 

36 .V 

3633 

3634 

36 3 S 

3636 

363' 

3638 

3639 

3640 

3641 

3642 

364 3 

3644 

364') 

3646 

364 7 <> 

3648 ;* 

364'* ;• 

36 SO P. 

36M ;> 

3652 ^ 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

global routine REC..DATA * 



1 . 1 3 

b -Mar 1984 14:S1:L>6 
r > -Mar -1984 14; 40: 58 

! Per forms host- ->port communications 



SLQ 016/ 
VAX -11 Bl.ss 16 V4. 0-579 Page 64 

DISK$USER2:[Y0UNG.FMTURQb4.B16;3 f 18) 



to communicate 
program. Both 



Functional Description j 

These commands are used 

program and the remote 

specify a host buffer descriptor and 

send data, the information in the buffer 

and a send data response sent back to the host to acknowledge receipt 

[n the case of receive data the remote program writes data into the 

buffer up to the amount specified by the byte count and then sends a 

receive cata response to the host to notify It of the transmission. 



between the initiating host 

send and rece I ve commands 

a byte count, Tn the case of 

is read by the remote program 



The send data and rece I 
server is in the active 
abnormally, putting the se 
send data and receive dat 
the specified timeout inte 
issue a get dust staus 
still running (is, the 
progress indicator shoul 
should be re- installed. If 
response nn<i a second get 
having made no progress 
considered broken and should 



ve data commands are only legal when the 
state. If the remote program terminates 
rwer back in the idle stae, outstanding 
a commands may be lost, In the event that 
rval is exceeded, the host program should 
command to see if the remote program is 

dup server is active); if it is, the 

d be remembered and the timeout interval 

the second timeout expires without a 

dust status shows the remote program 

in the interim then the program should be 

be aborted. 



Formal Parameters 
none 

Implicit Inputs : 

NSD„SL0T 



This global storage gets loaded by the routine 
' Get.nsd' and In it !s stored the nc*,t send ring 
descriptor slot where the port /control ler should 
be polling on and the place to put this commands 
command packet. 



Implicit Outputs 
none 

Completion Codes 

RET_STATUS 



Side Effects : 

none 



beg i n 

local 

kl.t NUM. 
RtC UUFSLOC, 

TEMPj 



Return status passe*; back to the calling routine 
the status of the just issued command. 



[Stores unique cmd rt^t number 

[Stores out $ standing cmd buffer location 

!A place to put read IP register data 



ZRQB4 




REV C PAICH 


; 3653 


?. 


; 3654 


2 


; 3655 


2 


; 3656 




; 3657 




i 3658 


2 


: 3659 


1 
t. 


; 3660 


71 


; 3661 


2 


; 366? 





; 3663 


2 


; 3664 


1. 


; 3665 


2 


; 3666 


? 


; 36b / 


2 


i 3668 




! 3669 


2 


; 3670 




4- 


; 3671 


2 


j 36 m 


a 


; 36 7 3 



< . 


; 36 74 





; 3675 


1 


; 3676 




i 36 7/ 


- ■> 

r. 


; 3678 


-1 


; 3679 




; 3t>G0 


2 


; 3681 




; 3682 


"1 

l- 


_ 3683 


1 - 


; 3684 


1 


j 3685 


2 


; 3686 





; 368/ 


•1 

< 


; 3688 




; 3689 


t 


; 3690 


• 1 
1 . 


; 3691 


*> 

1". 


j 36 l J2 


2 


; 3693 




; 3694 





; 3695 


2 


; 3696 


2 


; 369 / 


t. 


; 3698 


'1 

i. 


; 3699 


-1 


; 3700 


'1 

t . 


: 3/01 


t 


; 3 /Or' 


• 1 
1 


; 3/0'. 


■ 1 


; 3 /CM 


O 


} 3705 


__ 



Ml. 



RDRX DISK FORMATTER 
GLOBAL ROUTINE DECLARATIONS 



Be fori* we .load up the command packet up 
with all this good information get the 
next send descriptor slot and a unique 
command reference number. 



5 -Mar- 1984 14:51:26 
5-Mar-l98A 14:40:58 



SLQ 0168 
VAX -11 Bliss 16 V4.0 5/9 Page 65 

DISI<*USER2:[ Y0UNG,FMT]ZRUB4.U16s3 C IB) 



GET 
REF 



NSD 
NUM 



(): 

- GET 



•Get 
!Get 



CMOS REF (){ 
UQ Port command envelope Header field definition 



the next 
a unique 



■send desc slot 
command ref num 



SND_ENVELOPE 
SND FNVFLOPF 
SND^ENVELOPE 
SND.ENVELOPE 



[,NSD_SL0T, MSG_LENGTH] » SZ..RED; ILoad message length 

[.NSD.Sl.OT, CREDITS] - ONE \ JLoad credit si/e 

[.NSDJJLOT. MSG..TYPt] - 0; iDefine Message type 'Sequential' 

C.NSD_SL0T, C0NN..ID] - 2} IDefine connection ID 'UUP* 



DUP generic command envelope field definition 



SND.ENVELOPE 
SND.ENVELOPE 
SND ENVELOPE 
SND_ENVELOPE 
SND ENVELOPE 
SND.ENVELOPE 
ND ENVELOPE 



[ .NSD_.SL0T, 
[ .NSD„SL0f, 
t .NSD ..SLOT, 
f .NSD..SLOT, 
I .NSD SLOT, 
[ .NSD_SL0T. 
[ .NSD SLOT, 



CND_LREF] - 

CMD_HREF] - 

UN^LUSED] - 

UN HUSED] • 

OPCODE] - OP 
RSVD] ■ ZERO; 

MODIFIER] ■« ZERO} 



.RLF_NUh: 
ZERO; 

ZERO; 

ZbROj 

RED; 



.'Load command reference 
IZero Hi order cmd rtf num 
!Not used in DUP impl i mentat ion 
!Not used in DUP impl i mentat ion 
•Load this commands op -code 
•Not used field 
!Def!ne this commands modifiers 



number 



Command specfic command envelope field definition 



Byte count of transfer 



SND_ENVELOPt 
SND ...ENVELOPE 



[ ,NSD_SL0T. 
[.NSD ..SLOT. 



BLO 
BHI 



CNT] 
CNT] 



RECB.SIZtj !Byte count low word 
ZEROj !Byte count high word 



Buffer descriptor definition 



SND ENVELOPE [ .NSD SLOT 
[ ,NSD_SL0T 
f .NSD.SLOT 
[ .NSD SLOT 
[ .NSD_.Sl.0T 
CNSD_SL0T 
T .NSD SLOT 
r .NSD_SL0T 
[ .NSD SLOT 



SND.ENVELOPE 

SND ENVELOPE 

SND ENVELOPE 

SND ENVELOPE 

SND ENVELOPE 

SND ENVELOPE 

SND ENVELOPE 

SND.ENVELOPE 
1 

Call the? 
and load 
from this 

where thi 



BPA LO] - REC BUF 
BPA_HI] - ZERO; 
QBUS_EXT] - ZERO; 
RSVJ • ZERO; 
UBA_CHAN1 - ZERO 1 



RSVO] 
RSV1] 
RSV2 ] 
RSV3] 



ZERO 
ZERO 
ZERO 
ZERO 



How un i bus adrs <0 15 > 
lUnibus adrs bits <1617> 
{Q .bus extent ion adrs 

•Reserved field 

! Un i bus adaptor channel nunber 

•These next four words are not 

[used in the UQ Port implementation 
1 

» 



load out Jstnndtng command buffer routine 

this command into the buffer. The return 

routine will point us to the buffer location 

s command is stored. Later we car loo^. at 



this location to see if the 
has received and process it. 



interrupt service routine 



\\i I 



N 1 5 



ZRQB4 




REV C PATCH 


j 3706 




; 3707 


2 


; 3708 


n 
c 


3 709 




; 3710 




j 3 711 


2 


: 571,? 


"5 


; 3713 


■^ 


; 3714 


2 


; 3 71b 


2 


; 3/16 




; 3717 


2 


j 3718 


2 


; 3719 


2 


; 3/20 




; 3721 


2 


; 3722 


2 


; 3723 


p 


; 3724 


2 


; 372f> 


2 


; 3726 


2 


j 3727 




; 3 .'28 




; 3729 


2 


; 37 50 


2 


; 3731 


L. 


; 3 732 


2 


: 3/33 


2 


; 3734 




; 3735 


-y 


3/56 




; 3737 


2 


; 3/38 


2 


; 3/39 




: 3740 




; 3/41 


2 


; 3 742 




; 3743 




; 3 744 




; 3745 


2 


; 3746 


c. 


; 3/4 7 




; 3748 


2 


; 3/49 


2 


; 3750 




; 3/51 




; 3/52 


2 


; 3/53 


5 


; 3/5'» 


5 


; 3 /55 


5 


; 3/56 


3 


; 3/5/ 


T 


: 3758 


3 



RDRX DISK FORMATTER 
GLOBAL. ROUTINE DECLARATIONS 



5-Mor-1984 14:51:26 
5-Mar-1984 14:40:58 



SbU 0169 
VAX 11 Bliss 16 V4. 0-579 Page 66 

DISK$USER2:[Y0UNG.FMT]ZRQB4,B16}3 (18) 



REC_BUF$L.OC ' LOAD..OUT$STD„BUF ( .REF^NUM) j .'Load the command 



if .REC_BUF$LOC eqlu 0BF_C0DE then DECODE Oj 



! Error if buffer is full 



Set the ownership bit to 1 giving 
thin slot to the port/controller 

FND..RING (.NSD..S10T, 0WN..BIT] - PORT. OWNED: 

Read the IP register to stimulate port polling 

TF.MP - ,RDRX_ADDR [RCIP, RC^ALLlj 

Time out the port/controller for the response from this command, 

IF the controller times out then: 

1, See what kind of error was returned. If the error 
is a type other than a CTU.CQDE (controller time out) 
then call routine Decode which does the appropriate 
action based on the error, 

2. If the returned error is an CT0..C00F then do a get 
dust status and check the progress indicator to look 
for an increase, indicating that the remote program is 
still running and is not dead. 

If the indicator hasn't changed then assume that the 
remote program is dead and return an error code of 
RPD_C0DE (remote program dead code) and exit. 

If the indicator has changed then assume that the 

remote program is still running, save a copy of its 

value and reinstate the controller time out delay and 
repeat the loop. 

As long as the progress indicator in the remote program 
is still increasing this loop will be repeated for ever. 

If the controller doesn't time then return with the return code 
returned from routine CT0.WAIT () which could be either a success 
or error code by definition of this host code, 



while TRUE do 
bejin 

BREAK: 



JRepeat for ever 
[Flag control C s 



! Do a controller time out and determine if the controller 
! has processed the command or i f a fatal error has occured. 



/RUB4 




Rev C PATCH 


; 5 7!>4 


3 


j 3 :t.o 


3 


; 3."M 


3 


; 3 :^ 


4 


; 3>.S 


4 


; 3 .>»4 


4 


; 3 ->S 


4 


i 3 .'*.«. 


4 


; 3 :ti : 


4 


; 3 "68 


4 


j 3 :*** 


4 


i 3 : 7o 


4 


; 3 / : l 


4 


; 3 ' V 


4 


; 3 * ' *• 


S 


l 3 ■ 74 


» 


; 3 .' .'S 


S 


; 3 * <>. 


_ i 


; 3 ' 7 ' 


> 


3 ; ,*8 


s 


3 ■* 74 


_.) 


s 3 780 


) 


t 3/81 


, \ 


i 3W 


s 


l 3 783 


r J 


3 784 


1 


: 3 78S 


1 


; 3/86 


s 


; 3 78 7 


4 


; 3/88 


4 


i 3 789 


4 


{ 3 790 


4 


; 3 79' 


4 


: 3 7'v 


4 


j 3 795 


4 


; 3 794 


4 


j 3/9S 


4 


; 3 /«*> 


1 


j 3 .'9; 


4 


; 3 748 


4 


; 3 7') r * 


4 


3800 


4 


j 380i 


4 


: 380 t > 


4 


; 3801 


4 


; 3804 


4 


; 3HO r » 


4 


; 380^ 


4 


; 380 7 


4 


i 3808 


4 


; 380'l 


4 


3 8 i i . 


4 


1 Mil 


4 



RPR\ DISK * ORMATH M 

GLOBAL ROUTINE DECLARATIONS 



■> Mar 1984 14iM u>t> 
r » Mar 1984 141401**8 



VAX 11 fJll«Mi Wi V4.0 S/'« Paa* #./ 

DISMUSr'R^M r()UN(»^MT)/R(JU4 # Blf,»»i f 18 j 



I* CTO WAIT (3000, ,Rtf NUM. .RFC ttUf "II OC ) 
than 

b*gin 

i 

If the return statu* cod* *ql' • a CTO COOI 
*hen •«* if th# r*n>ot* program i« *t I 1 1 
running. If it <* than isvt the progress 
indicator and repeat the loop el«e call 
rout ine Decode ( \ 



! I* return an error 



f .RLT STATUS eqlu CTU CODfr 
then 

begin 

RlTNUM • .Rt-T.NUMi 



If CM DU5T STATUS () then DfcCODt ( )j 

If ,RM FNIAO [PIO INO] n V Q .PID SAVfc 
then 

PID.SAVF - .RFT tN$AD (PLO INO] 
el we 

return RET .STATUS ■ RPD.COOti 

end 



}I« thin a controller time out 



K>et the duat status 
'Any progress been made 
jSt!ll running nave P!d 

jNo progress no flog error 



else 



The return statu* o* *as not a controller time 
out code *o someth "*g •!•«• I* wrong, Call the 
routine Decode C) ti, *»nd u-it what went wrong. 



Of- COOK I ) 



el*« 



end 



begin 
I 

! The command ha* been rec^vjd r»y the interrupt service. 
i 

! Get thi* command* return envelope afrirtmn out of tn* 
f out l«td buf and check for good return status error and 

• die ! f bad statu*. 

i 

MM INlAD • .OUTISTD «■ ♦ I.RK Hi* HOC, INV AOR 1 i M»et the r«t en, adr 
j 

! Test for good status 



:» .RtT.tNIAU I STATUS) n«q u *'fcRU 
then 



♦T«'it the status 



4 



/ROB 4 
RFV C 



PATCH 



5812 
3815 
3814 
3815 
3816 

3817 

381* 
38 1*-* 

3820 

58.; i 



4 
4 
4 
4 
3 
5 



HDRX DISK f ORMAT MM 

GLOBAL ROUTINE MCI ARAHONS 



el fie 



endi 
end} 
return ,RET..STATUSj 



*i Mar l'i«4 14 {51:26 
5 Mar 1'IM4 14:40:58 



SEU 01 M 
VAX II Hli«* 16 V4.0 5/'* Page 6* 

DISKIUSLR2; ( aJUNfi.f MT 1/RQB4 ,016 j 5 f 18 j 



return Rl 1 .STATUS ' rt St. CODE. 
return .RET STATUSj 



! Re turn * "Response status ^rr" code 
tfhia ret status is good or bad 



, T * won't compile without thin here 



000000 004 1 3 7 OOOOOOG 



000004 
000006 
000012 

0000 1 , 

00* .:\i 

000-J24 

000030 
000034 

000042 

000046 
000050 
000054 
000062 
000066 

oooo fe 

000076 
000102 
000110 
000114 
000120 
000 126 
000152 
000140 
000144 
000146 
000150 
000154 
000160 
000164 
0001/0 

0001 74 
000176 
000202 
000204 
000210 
00021*' 

00021*. 
000*22 



005 '46 
004/37 
004 737 
010002 
013746 
012746 
004737 
012 760 
012701 
060001 
112711 
112761 
010260 
OO5060 
005060 
005060 
112760 
105060 
005060 
012760 
005060 
012760 
012701 
06OO01 
105011 
105061 
0O5060 
005060 
005060 
005060 
010216 
0O4 f % 7 
010001 
0201*'/ 
00 1 002 
004 7 5 7 

o; './oo 
006300 



000000 
000146* 

OOOOOOG 
000054 

OOOOOOG 
0000 *4 

000002G 

000001 

000002 

000004 G 

000O06G 

000010G 

0O0012G 

000005 

0O0015G 

000016G 

0O0170 

0OO022G 

OOOOOOG 

0O0026G 



000001 
OOOOiuC 
0000 32G 

0000 34 (i 
OOOO 36 G 

000054 ' 

002001 

000«'S0 
OOOOOOG 



OOOOOOCi 
000001 

00O014G 

00002 OG 
000024G 





.SBTTL 


Rt'C.DA.-i GLOBAL ROUUNL DECLARATIONS 


RtC 


DATA; ; 








JSR 


R^ ,1 SAVE 2 


j 




TSt 


f SP) 






JSR 


Pi;,Cil T.NSO 


\ 




JSR 


p:.get,cmdirh 


i 




MOV 


R3.R2 


1 ♦ ,Rf y ,NUM 




MOV 


N?D.SLOT, -(SP) 


J 




MOV 


♦ S4. (SP) 






JSR 


PC.BLIMU. 






MOV 


• U.SNO.f.NVtLOPI (RO) 






MOV 


♦SNO. ENVELOPES, Rl 


J 




ADO 


RD.R1 






MOVB 


41, (Rl) 






MOVB 


42,1(R1) 






MOV 


F2.SN0, ENVELOPE »4(R0) 


I Wt * ,NL"M,* 




CLR 


SN0,ENVEL0PE»6(R0> 






CLR 


SND. ENVELOPE. 10(R0) 






CLP 


SN0,ENVEL0PE»12(R0i 






MOVB 


♦5 . SNO . ENVELOPE * 14( RO ) 






CLRB 


SND.ENVEL0PE»15(R0) 






CLR 


SNO, ENVELOPE. 16(R0) 






MOV 


01 70,SN0. ENVELOP* »20(R0) 






CLR 


SND.ENVEL0PE»22(R0) 






MOV 


tfUC.BU* ,SNG.tNVH0PE»24(R0) 






MOV 


©SNO. ENVELOPE *26,Rl 






ADO 


R0,R1 






CLRB 


(Rn 






CLRB 


1 ( R 1) 






CLR 


SNO.ENvELOPfc ♦SOlRO) 






ClR 


SNO.ENVLl OPfr »52(R0) 






CLR 


SNO. ENVELOP! »34(H0) 






CI R 


sNU.tNVll 0PE.3MR0) 






MOV 


M.\<5P) 


j Rl* .NfM.» 




JSR 


PC, I OAn.OUTISTO.HUr* 






MOV 


R0.R1 


j • .RtC.tH* 




CMP 


Rl ,©2001 


I RtC.HUt U. 




\m 


1* 






J',W 


PC. 01 coot 




1$: 


M()V 


NsO.SLOI,HO 


1 




ASL 


RU 





v>0'; 

5661 
3665 



3>>66 

366 7 

3*>,*>.fl 
3*. V 
3r. '< 
5*. '4 
36 '5 
36 76 
36 7 : 
3* *8 
3^.85 
3^8^ 
36<>0 
3<vM 

3t>'»3 
3ti'*4 

3r *f. 
3r * * 



;<*i«s 



m 



7Rl»M 

RhV C 

000224 
000232 

000240 

000246 
00025? 
000254 
000260 

00026? 

000264 
000 2 7C 
000? 7 J 
0002 /4 

0002 7b 
000504 
00030b 
00031? 
000314 
00031b 
0003?? 
000326 

0003 34 
000336 
000344 
000346 
00035? 
000354 
000360 
000362 
000364 
000366 
000 370 
000 3 76 
00040? 
00040b 
000410 

0004 14 

000420 
0004 c 1 ? 

i;0o4 ( >b 

0004 3? 



PATCH 

006300 
063/00 
052 760 
017766 
OlbbOO 
1044?? 
01 ? 7 16 
010?4b 
01014b 
004 73 7 
0??b?b 
006000 
10303? 
02372 7 
00 10? 3 
004 7 3 7 
006000 
10300? 
004 73 7 
013700 
0?603 7 
001404 
016037 
00074? 
01?700 
000420 
004737 
000 7 34 
010100 
006300 
006300 
016037 
016000 
005760 
001405 
012/00 
01003 7 
000402 
013/00 
062/06 
00020 / 



RDR\ DISK hORMATTt h 

GLOBAL ROUTINB DtCLARATlUNS 



OOOOOOG 
100000 000002 
OOOOOOG 000004 
000004 



0056 70 
00? I 16' 

OOOOOOG 00001 1 
002604' 

000250' 

OOOOOOG 

000024 OOOOOOG 

000024 OOOOOOG 

000051 

000250' 



0OO002G OOOOOOG 

000002G 

000016 

000031 
OOOOOOG 

OOOOOOG 
000006 



2$: 



3*1 

4$ 
5$ 
6J 



7$: 
4$ ; 



5 -Mar 1484 
5 M«r-19H4 



14:51 -26 

14i40{5tf 



ASl RO 

ADD Sf NO.RING.RO 

BIS #100000, ?( RO) 

MOV BRDRX.ADDR.4C5P) 

MOV 4(SP),R0 

rRAP ^? 

MOV 056/0, (SP) 

MOV R2, CSP) 

MOV Rl, (SP) 

JSR PC.CrO.WAIT 

CMP ( SP)* , (SP)» 

ROW RO 

HCC 61 

CMP R^ I, STATUS. Oil 

BNt 5* 

JSR PC, GtT, DUST. STATUS 

ROR RO 

HCC 3$ 

JSR PC.DECODt 

MOV RtT.tNIAU.RO 

CMP 24(R0),PID.SAVl 

DCQ 41 

MOV 24CR0), Pit), SAVE 

BR 21 

MOV #51, HO 

br n 

JSR PC.Df.CODt 

BR 21 

MOV M.RO 

Alii RO 

ASL RO 

MOV OUT IS TO. BUT .?CRO).«l T.TNIAD 

MOV OUT * S TO . Bl*" ♦ ?( RO ) »R0 

TST 16(R0) 

BtO 8» 

MOV «M, MO 

MOV RO, Ml' T.ST ATI)'. 

BR 4$ 

MOV Rt.T. STATUS. HO 

ABO 06 , SP 

RTS PC 



VAX -11 hi inq 16 V4.0 5/9 
0ISK$USfcR2il ruUNG.FMT)ZRQU4,fcJl',j3 



• .RCJS.RH, 
RCIS.Rf.G.TFMP 



RM ,NUM, • 
Rf-C.BUf $! OC,* 



{ RFC.RUMl OC,* 



St.Q 01 /, 

(1%) 



3/5', 
3/60 



3 >?R 



3/HC 



3 *rt? 
3 /HO 
3 *M4 

3/ *3 
3>n> 

3H05 



3810 

381? 
3--U4 
5b00 



Routine Sl.'#: 14? words. Routine Base: ICOOt t * 4060 

Ma*, tmum stack depth per Invocation: l i worda 



3fl? 



14 



/RQB4 
REV C 



PATCH 



38^3 
W4 

38^5 
38/^ 

38;? ' 

38AS 
38^' » 
3630 

38? 1 

363? 
3834 
3835 

383h 

38?' 

3838 

3830 

3840 

3841 

384^ 

384? 

3844 

3845 

3846 

384 7 

3848 

3849 

3850 

3851 

385, 

385? 

3854 

3855 

3856 

385/ 

3858 

3859 

3860 

3861 

386? 

386? 

3864 

3865 

3866 

386 / 

3868 

3869 

38/0 

38/1 

38 ?? 

38 M 

?H/4 

38/5 



RDRx DISK H)RMATie.U 

GLOBAL ROUTINE DECLARATIONS 

global routine SET _CNTLR. .CHAR 



5 -Mar -1984 14:M:«?6 
SMar-1984 I4j40;58 

!Sets control character 1st ! cs 



5tQ 01 M 
VAX 11 Bliss 16 V4.0 b?<* Page /o 

DISK JUSF.R* i [ rOUNG.FMT 1/RQB4 , B 16 , 3 ( 19 ; 



Functional Description : 

The SET CONTROLLER CHARACTERISTICS 



command is used to set host 



•set table un i t 
character I at ics 
operation. This 
( "uni t on I ine", 
meaningless to 



characteristics and obtain those 

that are essential f o * proper class 

command nr^cr alters the unit's 

"uni t -aval lable" , "uni t of f I ine' ). 

set host settable character ist lea for 



that is "unit available" or "uni t -of r*l ine 



un 1 1 

dr i ver 

state 

It js 

a uni t 



Formal Parameters 
none 

Implicit Inputs ; 

NSD SLOT 




Implicit Outputs 
none 

Completion Codes 
RET. STATUS: 



Return status passes back to the calling routine 
the status of the just issued command. 



Side Effects : 

Any previously defined controller characteristics will possioly 
be altered after execution of this command, 



begin 

local 

REF NUM. 

SCC_BUF$L0C, 

TEMP; 



Before we load up the command packet up 
with nil this good information get the 
ne\t send descriptor slot and a unique 
command reference number. 



Stores unique cmd ret" number 

Stores out ist and !ng cmd buffer location 

A place to put read IP register data 



GET 
REF 



NSD 
NUM 



( >; 
• GET 



•uet 
•t.et 



CMD$RE> ( ); 
UU Port command envelope Header field definition 



the ne*.t 

.i un } que 



send desc •.. lot 
command ref num. 



14 



ZRUB4 




REV C PATCH 


; 38 /r. 


i 


; 38 : : 




t 38 ;y 


1 . 


; 38? 9 




; 3880 




; 5881 


t 


; 388.^ 


♦ . 


588? 


k. 


; 3884 


> 

«_ 


; 386S 


t ; 


i 388b 


■^ 


; 388,* 


-■^ 


j 3888 


> 


; 3889 


-> 
i. 


; 38**0 


•-> 


; 3891 


> 

i 


; 389,: 




i 389 5 


'1 


j 3894 


I. 


; 389S 


4. 


; 389b 


t . 


389/ 


"> 


; 3898 


"> 


; 389<* 


t 


; 3900 


• \ 
1. 


; 3901 


"1 

I. 


; 390c' 


'•> 


; 3903 


> 
i 


; 3904 


« . 


; 3 90S 


•~\ 


; 3906 


t 


; V»0 ,' 


;_> 


: 3908 


p 


; 390 l » 


i 


; 391Q 




; 3911 




; 391,' 


t . 


; 3913 




3914 


■ i 
< 


; 391*. 


t 


; 3916 




; 391 ,' 


f. 


; 3918 


■ > 


; 3919 


■ » 


; 39^0 


t 
» - 


; 39,' 1 


*1 


; 39.%' 


i 


; W *> 


,"> 


I 39.>4 




j 39 ( ". 


/ 


: 3^/b 


k ' 


; 39 ,' 


t ' 


i i^tt 


d 



RDRX DISK KORMATTIH 

GLOBAL ROUTINE. DECLARATIONS 



r > -Mar- 1984 

5 -Mar- 1984 



SEO 01 /4 
14:51:^6 VAX-11 Bliss-lb V4.0 b/9 p Qa e /l 

14? 40: 58 DISKIUSERSif rUUNli.fMT ]ZR0B4.B16j3 ( 19) 



SND ENVELOPE f 
SNO ENVELOPE f 
SNO ENVELOPE [ 
SNO ENVELOPE [ 



NSO.SLOT, MSG ..LENGTH) - SZ^SCCj JLoad message length 

NSD..S10T. CREDITS] - ONE i !Lood credit s I zm 

NSD_SLOT, MSG TYPE] - 0| JDefSne message type 

NSO.SLOT, CONN ID] - Oj 'Define connection ID 



Sequent i al' 
'DUP' 



MSCP generic command envelope field definition 



SND ENVELOPE: 
SND ENVELOPE 
SND LNVLLOPE 
SND ENVELOPE 
SND .ENVELOPE 
SND .ENVELOPE 
SND ENVELOPE 



[.NSO.SLOI, CMD_LREE] » .RfcE_NUM| 



[ .NSD .SLOT 
[ .NSD..SLOT 



NSD 
NSD 

NSD 



SLOT 
SLOT 



CMD.HREE] - ZERCj 
LN_LUSED] - ZEROj 
UN HUSED3 - ZERO, 
OPCODE] • OP SCC j 
RSVD] - ZERO; 
MODIFIER] • ZERO] 



!Zei 



rro Hi order 
.'Not used 
!Not used 



Hood command reference number 



cmd ref num 
DUP i mp 1 i men t a t « on 

DUP 



INot used m Du^ impl t men tat « on 
!Not used in DUP impl I men tat ion 
!Load this commands op -cede 
•Not used field 
•Define this commands modifiers 



» 

i 

SND 
SNO 
SNO 
SNO 
SNO 
SE9 

sk:« 

SND 
r -N0 
NO 



Coirvnand specfic command envelope field definition 



ENVELOPE 
ENVELOPE 
tNVEl OPE 
FNVELOPE 
ENVELOPE 
ENVELOPE 
.'-NVELOPE 
ENVELOPE 
ENVELOPE 
ENVELOPE 



NSD 
NSD 
NSD 
NSD 
NSD 
NSD 
NSD 
NSD 
NSD 
NSD 



SLOT, 
SLOT. 
SLOT, 
SLOT , 
SLOT, 
SLOT, 
SLOT. 
SLOT, 
SLOT, 
SLOT, 



MSCP.VERj 
CTL FLAGS] 

HOST _T0V1 



RSiVD] 

T$D 0] 

UD_1] 

TID.2J 

UD..3] 

CDP„L0] 

CDP HI] 



ZLROj 
1 ZEROi 
ZEROj 



IMSCP version 
JController flag? 



ZERO j 
ZEROj 
ZERO i 
ZEROj 

ZERO j 
• ZEROj 
' ZERO; 



•Host t ime 
.'Reserved 
! T i me and 



out value 



•T ime 

.'Time 
'Time 
ICntlr 



and 
and 
and 
dep 



Date 
Date 
Date 

Date 



•Cntlr dep 



word 
word 
word 
word 
parameter 
parameter 



lo 
hi 



word 
wrd 



Call the load out*«tandng command buffer routine 
arid load this command into the buffer. The return 
from this routine will point us to the buffer location 
wnere this command i» stored. later we can loo^ at 
this location to see if the interrupt service routine 
has received and process it. 

SCC.BUfU.OC • I OAD OUTISTD Bl* (.REE Nlffl): 'load the command 

if .SCC„Buru0C eqlu OBE CODE then DECODE I); 'Error if buffer iu full 



Set the ownership bit to 1 giving this slot 
to the port /control ler 

END RING t.NSO.SlOT, OWN Bill - PORT ilUNHlj 

Read the IP register to stimulate port polling 

TEMP * .RDRx.rtDDR [RCIP, RC Al i h 

Time out the por t'control ler processing the commnnd. 

I he first tes* tests the connections ab : L : t > to 
respond to thiti command without any errors in the. SA 



) 



4 



pr.v c 



PATCH 



3^30 
V*M 

3955 
3**34 
3<-»3S 
3 l »3r. 
3937 
3M58 
3 l *5^ 
3' MO 
3*141 
344.' 
3^4 5 
3944 
3^45 
3*'>4h 

3 c m: 

3948 
3^4 9 
39 so 
39M 
39V 
39S 3 
39S4 
39S r , 
39S6 
39«) / 
39'»8 

39'",^ 

3960 



HDHX DISK FQRMATIF.R 

GLOBAL ROUTINE. Df.Cl.ARAT IONS 



5 Mftr. 19H4 14; f > 1 ; *?*> 

5 Mar -1984 14:40:58 



•»LQ 0! 'S 
VAX -11 Hliss 16 V4.0 5/9 P 0o ^ /,• 

DISK$USfcR2j [ YOUNG, KMT )/RCM4.U16;3 r 19 J 



register and for the command not timing out. 

The second tests the DUP server for good status. If 
bad status is sent back then ar\ error code is returned 
to the calling routine where the routine "decode" will 
decode and ta^e th* appropriate recovery. The time 
out routine will loop on delaying and checking the hi 
bit of the first word in the outlstd.buf for a true. 
When true signals us that the interrupt service routine 
has received the endpacket ond no connection errors 
were detected. 

f CU) ..WAIT (3000, .RRF' NUM. .SCC ,RUf'$L.0C) then OHCODF ()| J Is return an error 

Get the return envelope address from the Out I >td buf 
at this commands buffer location and check the packet 
for good status error and die if bad status was returned 



PET LN$A0 - .UUT»STD..BUr t . SCC ^BUF $L0C , LNV„AUR]j 
Now test for good status 



!Get the ret env adr 



F .RKT ENSAD [STATUS] neou /FRO 
then 

return RKT STATUS - RSfc_C0D£. 
else 

return .RET ..STATUS ; 



I Test the status 

!Retum a "Response status err" code 

jThis ret status Is Qood or bad 









.sinn 


SF T.CNTl R.CHAR GLOBAl 


000000 


004137 


OOOOOOG 


SLT.CNTLR.CHAR: 
JSR 


*R1. JSAVFV 


000004 


005/46 




TST 


- ( SP ) 


O00 00b 


004/3/ 


00O000 ' 


JSR 


PC. GIT .NSO 


00001:' 


004/37 


000146' 


jsr 


pc, or. r.CMDiRt-> 


000016 


010002 




MOV 


RO.RP 


0000^0 


013/46 


000000G 


MOV 


NSO, 51 OF. (SP) 


O000P4 


IP 746 


000054 


MOV 


0S4, CSP) 


000030 


004/37 


OOOOOOG 


JSR 


PCBLIMU. 


000034 


oi;>/bo 


000040 OOOOOOG 


MOV 


040,SND\FNVf I DPI 1 HO ) 


00004? 


01?/01 


OOOOO.'G 


MOV 


osNO.FNVF.L OPr»«»,Rl 


00004b 


060001 




ADD 


R0.R1 


000050 


1 1 <° 7 1 1 


000001 


MOVH 


• l.lRH 


000054 


105CO1 


000001 


Cl RH 


UH1) 


0000*0 


010J60 


000004G 


MOv 


R,'.SNO.f NVFLOPF .4(R<n 


0000t>4 


005060 


000006G 


Cl u 


SND.FNVU DPI »6(R0> 


0000 ;o 


005060 


00O010G 


U W 


SND.FNvi LOW.* 101 RO ) 


0000 74 


005060 


ooooiao 


Cl H 


SNU.LNVLLOPF. • UU RO ) 



ROUTlNb Ot'Ct ARAT10NS 



; *,RKF ,NUM 

J 



Rfc-K .NUM. ♦ 



38 j^ 

*H 'J 
38 "6 



38 ' * 

38 :m 
38 .' i * 

3S** *■ 
3^84 
;*-tM l , 
38^ 



4 



/HUH 4 
REV C 

000 100 

000 10b 
000112 

000116 

000122 

00012b 

ooo 132 

000 136 
00014? 
000146 
000152 
00015b 
000162 
000166 
0001 70 
000174 
000176 
000202 
000204 
000210 
000214 
000216 
000220 
000224 
000232 
000240 
000244 
000250 
000252 
00^254 
OOC'bO 
00026? 
000264 
000266 
0002 .V 
000274 
000276 
000300 
000306 
00031? 
000 316 
000320 
000324 
000 3 30 
000332 
000 336 
000342 



RORX DISK f-ORMAT It H 
PATCH GLOBAL ROUTINE DECLARATIONS 



5 Mor 1984 14:51:26 
S-Mar-1984 14:40}58 



112/60 
105060 
005060 
005060 
005060 
005060 
005060 
005060 
005060 
005060 
005060 
005060 
005060 
010216 
004 737 
010001 
02012 7 
001002 
004 '57 
013700 
006300 
006300 
063 700 
052760 
01 7766 
016600 
012716 
010246 
010146 
004 737 
022626 
006000 
103002 
004 73/ 
010100 
006300 
006 300 
01603/ 
016000 
005/60 
001405 
012700 
01003 7 
00040c 
013700 
062/06 
00020 7 



000004 000014G 

0000 15G 

0000 16G 

000020G 

C00022G 

000024G 

000026G 

000030G 

000032G 

000034G 

000036G 

000040G 

000042G 

000054 ' 

002001 

000250* 
OOOOOOG 



OOOOOOG 
100000 000002 
OOOOOOG 000004 
000004 
005670 



1$ 



002116' 



000250' 



000002G OOOOOOG 

000002G 

000016 

000031 
OOOOOOG 

OOOOOOG 
000006 



2* 



3J 
4$ 



MOVB 


V>4,SND.ENVELOPE»14(R0) 




CLRB 


SND.ENVELOPE*lS(RO) 




CLR 


SND. ENVELOPE *16(R0) 




CI n 


SND,ENVEL0PF>20(R0) 




CLR 


SND. ENVELOPE ♦22CR0) 




CLR 


SND. ENVELOPE »24(R0) 




CLR 


SND, ENVELOPE ♦26CR0) 




CLR 


SND. ENVELOPE •30CR0) 




CLR 


SND, ENVELOPE *32<R0) 




CLR 


SND. ENVELOPE* 34 CRO) 




CLR 


SND. ENVELOPE *36(R0) 




CLR 


SND.ENVEL0PE*40CR0) 




CLR 


5ND.ENVEL0PE*42(R0) 




MOV 


R2.C5P) 


RKK.NUM,* 


JSR 


PC.LOAD.OUUSTD.BUE 




MOV 


R0.R1 


♦ .SCC.Bi* il OC 


CMP 


Rl. 02001 


r )CC.BUF$LOC,* 


BNE 


If 




JSR 


PC. DECODE 




MOV 


NSO.SLOT.RO 




ASL 


RO 




A St. 


RO 




ADO 


send.ring.ro 




BIS 


0100000. 2(R0) 




MOV 


bJRDRX ( ADDR,4CSP> 


*.HC*S.Ht L. 


MOV 


4(SP),RC 


RCSS.RFG. Tf-MP 


MOV 


*56 70.(SP) 




MOV 


R2 . ( SP ) 


Hit .NiH, ♦ 


MOV 


Rl, (SP) 


SCC.BUE5LUC,* 


JSR 


PC.CTO.WAII 




CMP 


( SP ) ♦ , ( SP ) ♦ 




POR 


RO 




BCC 


21 




JSR 


PC. DECODE 




MOV 


Rl.RO 


SCC.OU 1 $LOC,» 


ASL 


RO 




ASL 


RO 




MOV 


0JT$STD.BOf »2(R0),Rt T.hNSAD 




MOV 


0UT|STD.BUE»2(RO),RO 




TST 


lb(MO) 




BF.Q 


3$ 




MOV 


031. RO 




MOV 


RO. RET, STATUS 




BR 


4$ 




MOV 


R* I . STATUS, RO 




ADD 


06, SP 




RTS 


PC 





SEU 01 /6 
VAX 11 Hlis-i 16 V4.0 5 /9 Page /3 

DISK*USER2:[Y0UNG.FMT]ZRQB4.B16j3 ( Vn 



3888 

38M9 
3893 
3894 
3 8 95 
38 96 
389/ 
3898 
3899 
39wo 
3901 

390.- 
3911 



3913 
3919 

392 * 
3942 



3 949 

39M 
3'»Sf. 

3825 



Routine Si/e: 1 1.4 words. Routine Base : 

Maximum stacW depth per invocation: 9 words 



SCOPES * 4514 



ii i\ 



4 



/RQB4 


REV 


C PATCH 


{ C 


596.? 1 


{ c 


3<>63 1 


J c 


3964 1 


: C 


3^6^ 1 


; C 


3966 1 


{ c 


39^/ 1 


; C 


396d 1 


; c 


396^ 1 


; C 


39 ?0 1 


: C 


34 71 1 


; C 


39 iV 1 


» C 


39/3 1 


; C 


3<-».'4 1 


; C 


39 /S 1 


; C 


39.'»> 1 


{ c 


34 : ; i 


j c 


39; a 1 


; C 


39/^ 1 


i C 


3980 1 


; C 


3981 1 


; C 


398? 1 


; C 


3983 1 


; C 


3984 1 


: C 


3985 1 


; C 


3986 1 


; C 


398 7 1 


i C 


3988 1 


; C 


3989 1 


; C 


3990 1 


; C 


3991 1 


; C 


3 99 J 1 


; C 


3993 1 


; C 


3994 1 


; C 


3995 1 


; C 


3996 1 


; C 


399'.' 1 


; C 


3998 1 


5 C 


3999 1 


{ c 


4000 1 


; C 


4001 1 


5 C 


4 OOP 1 


; C 


4003 1 


; C 


4004 1 


: C 


4 00S 1 


i C 


4006 1 


i c 


400/ 1 


; L 


4008 1 


; C 


4009 1 


; C 


4010 1 


; C 


4011 1 


; C 


40K' 1 


j c 


4<m 1 


; C 


4014 I 



RDR\ DISK FORMATTER 
GLOBAL ROUTINE DECL.ARATf.UNS 

global routine ON J. INE - 



r >-Mar-1984 14:51:^6 
b Mar 1984 14j40:b8 



{Makes a unit come online to a host 



SLQ 01 rt 
VAX -11 Bliss 16 V4,0b/9 Page /4 

DISK SUSER2 : I rOUNG . FMT 1ZRQB4 . 016 j 3 C 20 ) 



functional Description : 

The online command is 
host settable 
character tst ics 
operation. The 
are loaded 
message. Host 
a set unit 
characterist Ics 
and any other 



ised to brino a unit "uni t-onl ine, set 
unit characteristics and obtain those unit 
that are essential for proper class driver 
unit is spun -up, if necessary, and is heads 
prior to returning the online command's end 
settable characteristics are set exactly as if 
characteristics command were issued. Host settable 
are set after the unit has been successfully spun up 
validity checks have succeded. Note that the unit's 
host settable characteristics are not altered if the unit is already 
"uni 1 -onl ine" . 



Formal Parameters 
none 

Implicit Inputs t 
NSD.SLOT 



This global storage gets loaded by the routine 
'Get_nsd' and in It is stored the next send ring 
descriptor slot where the port'control ler should 
be polling on and the place to put this commands 
command packet, 



Implicit Outputs 
none 

Completion Codes 
RET..STATUS? 



Return status passes bac^ to the calling routine 
the status of the just issued command. 



ide Effects : 

Any previously defined controller characteristics 
be altered after execution of this command. 



beg i n 

local 

REF NUM. 
ONL. .BUFSL0C, 
TEMP 5 



will possibly 



Stores un I que cmd ^ef number 

Stores outstanding cmd buffer location 

A place to put read IP register data 



Before we load up the command packet ^0 
with all this good information get the 
next send descriptor slot and a unique 
command reference number, 

LiET„NSD ( )j 



.'Get the nevt send desc slot 



1 1 /1 



J 14 



ZRUB4 


R^.V 


C PATCH 


: C 


4015 1 


i c 


4016 1 


» c 


401/ 1 


; C 


4016 1 


; C 


40 W 1 


J c 


40^0 1 


; C 


40 t ? 1 1 


i C 


40cV 1 


i c 


40J5 1 


t c 


40.M 1 


; C 


40^5 1 


; C 


40.76 1 


• c 


40^ ; 1 


; C 


40l?W 1 


; C 


40^ 1 


; C 


4030 1 


? c 


4051 1 


; C 


405.? 1 


; C 


4053 1 


; C 


4054 1 


; C 


403S 1 


; C 


4036 1 


; C 


403/ 1 


; C 


403U 1 


; C 


4059 1 


; C 


4040 1 


i c 


4041 1 


i c 


404? 1 


; C 


404 3 1 


; C 


4044 1 


; C 


404S 1 


; C 


4046 1 


; C 


404 7 1 


; C 


4048 1 


; C 


404^ 1 


; C 


40S0 1 


; C 


40S1 1 


; C 


40V 1 


; C 


40M 1 


• r 


40S4 1 


; C 


4 OSS 1 


i c 


40S6 1 


» c 


40S/ 1 


; C 


40SH 1 


5 c 


40S'* 1 


i c 


4060 1 


; C 


4061 1 


: C 


406^ 1 


; C 


40t>5 1 


; C 


4064 1 


i c 


no».s : 


: C 


4o».»> i 


l C 


4067 1 



RORX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



S -Mar -1984 
5 Mar 19H4 



„ , rt SEU oi in 

14:51:26 VAX-11 Bliss 16 V4.0 S/<> Pa oe V> 

14 • 40 : 58 DISK IUSER2 ; [ YOUNG , FMT URQB4 . B 16 ; 3 ( 20 J 



.NUM - GET.CMOJRET () } 'Get a unique command reF num 

UQ Port command envelope Header field definition 



( .NSD SLOT, 
r.NSO SLOT, 
[.NSD SLOT, 
[ .NSD. SLOT, 



REE 
i 

i 

i 

SND ENVELOPE 

SND ENVELOPE 

SND ENVELOPE 

SND_ENVELOPE 
i 

i 

SND ENVELOPE 

SND ENVELOPE 

SND .ENVELOPE 

SND ENVELOPE {.NSD SLOT, 

SND ENVELOPE 

SND ENVELOPE 

SND. .ENVELOPE 

i 

Command specfic 



MSG_LENGTH] • SZ_ONL; !Load message 
CREDITS] - ONE i jLoad credit si/e 
MSG TYPE] - Oj 'Define me^saot type 
CONN.J.D] • Oi iDefine connection ID 



length 
Sequential 1 



MSCP generic command envelope field definition 
NSD 



SLOT 
NSD ..SLOT 

NSD SLOT 



T. NSD. SLOT 
r.NSD.SLOT, 
I .NSD SLOT, 



CHD LREF] 
CMO"HREF] 
UNIT NUM] 
UN. MUSED] 
OPCODE] - 
RSVD] » ZERO; 
MODIFIER] - ZERO; 



- .REF NUM j 

- ZERO; 

- .UNIT 
« ZERO; 

OP . ONL ; 



number 



Jload command reference 
•Zero Hi order cmd ref num 
NOi fSelect unit to bring online 
!Not used in DUP impl i men tat i on 
•Load this commands op-code 
•Not used field 
! Define this commando modifiers 



i 
i 

SND 
SND 
SND 
SND 
SND 
SND 
SND 



command envelope field definition 



ENVELOPE 

ENVELOPE 

.ENVELOPE 

ENVELOPE 

ENVELOPE 

ENVELOPE 

ENVELOPE 

SND .ENVELOPE 

SNO ENVELOPE 

SNO ENVELOPE 

SNO ..ENVELOPE 

SNO .ENVELOPE 
i 

i 

i 

i 

i 
• 



f. NSD. SLOT, 
[.NSD SLOT. 

[.NSD SLOT, 
[ .NSD SLOT, 
r.NSD.SLOT, 
[ .NSD SLOT, 
[.NSD SLOT. 
I .NSD SLOT, 
( .NSD SLOT, 



f .NSD 
[ .NSD 
I .NSD 



SLOT 
SLOT 
SLOT 



RSViDl • ZERO; 
UNIT FLAGS] • ZERO; 
RSVDfO] - ZERO; 
RSVDtll - ZERO; 
RSVD$2] - ZERO; 
RSVD13] - ZERO; 
RSVDi4] - ZERO; 
RSVDI5] - ZERO; 
DOP L.01 - ZERO; 
DDP HI] - ZERO; 
SHADOUJJNIT] * ZERO; 
COPY SPEED] - ZERO; 



! Reserved 

•Unit flag field 

JReserved field 

{Reserved 

! Reserved 

.•Reserved 

•Reserved 

! Reserved 

•Device dependent 

•Device dependent 

• Shadow ufi i t 
•Copy speed 



field 
field 
field 
field 
field 



parameter 
parameter 



Call the load outstanding command buffer routine 
and load this command into the buffer. The return 
from this routine will point us to the buffer location 
where this command is stored. Later we can loot at 
this location to see '. f the interrupt service routine 
has received and process it. 



ONL.BUFttOC • tOAD.OUTSSTD Hi*" (.REF NUM ) i 'Load the command 



f .ONL.RUFiLOC eqlu 0HF„C0DE then DtCOin () 



• Set the ownership bit to 1 giving this slot 

• to the port /control ler 
I 

SEND RING [.NSD SlOT, OWN HIT] - PORT OWNl D ; 

» Read the IP register to stimulate port polling 



! Error if buffer J»j full 



K14 



/RGB4 


REV 


C Prtl'CH 


; C 


4068 1 


: C 


4069 1 


; C 


40/0 1 


; C 


40/1 1 


; C 


40.V 1 


; C 


40/5 1 


; C 


40/4 1 


; C 


4o/:« i 


; C 


40 /t» 1 


; C 


40// 1 


; C 


40/8 1 


i c 


40/*) 1 


J c 


4080 1 


; C 


4081 1 


I c 


408^ 1 


5 C 


4085 1 


; C 


4084 1 


; C 


408S 1 


; C 


4086 1 


; C 


408/ 1 


; C 


408ft 1 


; C 


4089 1 


; C 


4090 1 


; C 


4091 1 


; C 


4092 1 


; C 


4095 1 


; C 


4094 \ 


{ C 


4095 1 


; C 


4096 1 


; C 


409/ 1 


{ c 


4098 1 


; C 


4099 1 


; C 


4100 1 


; C 


4101 I 


; C 


410? 1 


j C 


4105 1 


j r 


4104 1 


; C 


41 OS 1 




4106 1 



RDRX DISK FORMAT Tt-.R 
GLOBAL ROUTINE DECLARATIONS 

TEMP • .RDRX..ADDR [RCIP, RC.ALLli 



fi -Mar -1984 14:r»l:P6 
5 -Mar -1904 14;40;56 



StQ 01 /9 
VAX 11 Bliss 16 V4.0b/'< Page 76 

DISK*U5ER2j [YOUNG. FMT]ZRQB4.B16|3 C20) 



Time out the port/controller process ing the command. 

The first test tests the connections ability to 
respond to this command without any errors in the SA 
register and for the command not timing out. 

The second tests the OOP server for good status. If 
bad status is sent back then an error code is returned 
to the calling routine where the routine "decode" will 
decode and take the appropriate recovery. The time 
out routine will loop on delaying and checking the hi 
bit of the first word in the outistd.buf for a true. 
When true signals us that the interrupt service routine 
has received the endpacket and no connection errors 
were detected, 

f CT0..WAIT (5000, .REr\.NUM. .ONL_0Uf$LOC) then DECODE (){ Sis return an error 

Get the return envelope address from the outJstd buf 
at this commands buffer location and check the packet 
for good status error and die if bad status was returned 



RFT..FN$AD - .0UT$STD^8Uf" I . GNL^BUMLOC, fcNV„A0Rh 
Now test for good status 



.♦Get the ret env adr 



)* 



f .RET EN* AD [STATUS] nequ ZERO 
then 

return RET STATUS < R5E .CODE 
elfie 

return ,RLT..STATUSi 

end i 



! Test the Statu-; 

! Return a "Response status err" code 

.'This ret status is good or bad 



i j\ 



1.14 



/rub 4 

rev c patch 



4107 
4108 
410<* 
4110 
4111 
411 t J 
4113 
4114 
411 t > 
4116 
411/ 
4118 
4119 
4120 
41<U 

4i;_v 

4123 

4i;m 
412s 

4126 
4i2 7 

4h?8 
4129 
4 1 30 

4131 
4132 
4133 

4 134 
413') 
4 1 36 

4137 
4138 

4i :v* 

4140 



RUKX DISK K0RMA1 IER 

GLOBAL ROUTINE DECLARATIONS 



5-Mar~1984 14:S1:26 
S -Mar -1984 14:40:S8 



vax -li BiisB-i* v4.o f yn 

(nSK*USER2i(Y0UNu\r"MTURG)B4,lJ16{ 



SEQ 0180 
Page 7 / 



global routine INT*I..SERVICE : INT..LNKJTYP novalue - 



Unit sequence interrupt catcher 



Functional Description ; 

During the initialization sequence the IE bit is defined to be 
a zero. This means that the host is not requesting interrupts at 
the completion of steps 1-3. 

Note that no initerrupt will be generated at the completion of 
step 4 since this step rquires only a small number of time. 

This interrupt service routine serves to catch any interrupts that the 
controller might issue during the initialization sequence. The 
interrupt is ignored and control is returned, 

Formal Parameters : 
none 

Implicit Inputs : 
none 

Implicit Outputs : 
none 

Completion Codes : 
none 

Side Effects : 
none 

begin 
return j 
end; 



000000 000002 



.SBTTL 
1NTSI. SERVICE:: 
RTT 



j Routine Size: 1 word. Routine Base: SCUUES 
; Maximum stack depth per invocation: words 



INTSI, SERVICE GLOBAL ROUTINE DECLARATIONS 



SObO 



410 



4141 



M I /I 



7RQB4 
RKV C 



PATCH 



414.? 

4143 
4144 
4145 
414 6 
414/ 
4148 
4149 
4 ISO 
4151 
41V 
4153 
41b»4 
41SS 
41S6 
415/ 
4156 
41V) 
4160 
4161 
416^> 
4163 
4164 
4165 
4166 
4167 
4168 
4169 
41 70 
41/1 
41/,-? 
41 /S 
4174 
41 /5 
41/6 
41// 
4178 
4179 
4180 
41H1 
418? 
4183 
4184 
4185 
4186 
418/ 
4188 
4189 
4190 
4191 
419,' 
4191 
4194 



RORX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

global routine IS..TIMER (SEQJ40) » 



M 1 4 

5-Mor-1984 14:51:26 
5 Mar 1984 14:40:58 

J In it sequence time out 



SEQ 0181 
VAX -11 Bliss ! 5 V4.0 L>79 Page 78 

DISKSUSfcRS : [ YUUNG . FMT ]ZRQB4 , B16 ; 3 C 22) 



Functional Description : 

Steps 1-3 of* the in it sequence, each are required to 
complete within 10 seconds. If any of these steps 
fails to complete within that period, this is to be 
treated as a host detected fatal error. 

This routine will do one us delays for a total of 10 
seconds. After each delay the step field is examined 
to see if this init sequence has completed. 

Formal Parameters : 

SEQ„N0: Indicated which init step Is presently being 
performed within the RDRX init sequence, 

Impl ic i t Inputs : 
none 

Implicit Outputs : 
none 

Completion Codes : 

TRUE 2 Indicates to the calling routine thrt the 
indicated init sequence step has timed out. 

FALSE: Indicates to the calling routine that the 
indicated init sequence step has not timed 
out . 

Side Effects : 

If the init sequence step times out and an error 

is posted in the sa register then the routine 

decode will be call. 



2 



begin 

local 

STEP. VAL : word j 

STEP..VAL - ZERO} 



Select the step value expected from 
this init sequence step. 



selectoneu »SEQ_N0 of 
set 

10] : 



! Temp storage of step value 
.'Moke sure the loc is zeroed out 



{Select the binary step value 



M I /I 



N14 



4222 
4223 
4224 

4225 

4226 
422 7 
4228 
4229 
4230 
4231 
423? 
4233 
4234 
4235 
423b 
4237 
4238 
423*) 
4240 
424 1 
4242 



ZRQ34 

RF.V C PATCH 



4195 
4196 
419/ 
4198 
4199 
4200 
4201 
4202 
4203 
4204 
4205 
4206 
4207 
4208 
4209 
4210 
4211 
4212 
4213 
4214 
4215 
4216 
421/ 
4218 
4219 
4220 
4221 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 

STEP_VAL =• Kb' 0001* ; 

11] : 

STEP„VAL = lib' 0010' \ 

[2] : 

STEP..VAL « rfb'0100 1 { 

[3] : 

STEP.VAL » tfb'1000' i 
tesj 



5-Mar~1984 14:51:26 
5 -Mar- 1984 14:40:58 

JStep 1 binary value 

!Step 2 binary value 

!Step 3 binary value 

IStep 4 binary value 



SEQ 0182 
VAX-11 Bliss 16 V4. 0-579 Page 79 

DISK $USER2 j [ YOUNG . FMT 1 ZRQB4 . B 16 } 3 C 22 ) 



Loop on the 100 micro second delay until 
either the expected step Field is read in 
the SM register or the step times out. 



incru TIMEOUT from to 15000 do 
b^g i n 

DELAY CC..US); 



•Delay For 10 seconds 
•Do the delay 



\ Check the step bit to see if it is set yet. 

! If it is sev then return a false indicating 

I the completion else crntinue delaying, 
i 

If .RDRX.ADOR [RCSA, STP_FIELD) eqlu .STEP.VAl. then return FALSI, i 

BREAK? • Service any control C's 

end; 

This step has not completed within the specified 
10 second time interval. Test the sa register 
for any errors posted and report errors i" any. 
Return a true to the caller indicating the error. 



if .RDRX ADDR [RCSA, ERR BIT] 
then 

begin 

RET STATUS * PF& .CODE; 

DECODE ( ); 

end; 

return TRUE* 
end; 



! Is the error bit set 



! Indicate the port/fatal error code 
iReport the error 



.'Return a failure to the caller 



000000 004137 00OO00G 



.SBITU IS. TIMER (iLUBAL RQUUNt UtCLARAF JONS 
lb. TIMER: : 

JSR Rl,*SAVfc3 



4 14 J 



/Rl*l4 

wt-v. r 

OOvWM 
000010 
0000 1. * 
0000 1 6 

0000.^0 
0000.' 4 
OOvV/f* 
OOOO V 
0000 54 
000040 
00004/ 
00004 6 

oooo^o 

0O00S4 
0000 st 
00006/ 
0000*4 
0000 *0 
0000 V 
0000 /6 

000 i 00 
000104 

000 1 Of. 

00011.' 

000114 
0001 16 
OOO ir* 
000 IcV 
000 i/6 
OOO 15/ 
0001 54 
OOO 1 ^6 
000140 
00014.* 
000144 
000146 

ocoiv 

000 1M 
G001S6 

000 160 

oooie>/ 

000 1 66 

0001 /o 
OOOi M 
OoO/O/ 
O0O/O4 
000/1/ 
000/16 

'JOO/lV 

O00//4 
000. y 6 
OOOtf 5c> 



PA'L'H o 

i6//06 

OOSOO/ 
016600 
001005 
OU'.W 
0004.' I 
0/00. .' 
00100 5 

oi. 1 ,\v 

0004 1 3 

0/00/ ' 
00100 5 

01/ '0/ 
0004 OS 
0/00/ : 
00100/ 

01//0/ 

OOSOO 3 
015/JU 
0014U 

013*00 

001404 
00S066 

005 *0Q 
0013 74 
00S301 

000 /66 
oi3/oo 

016016 
010/01 

01 If. 00 
006/00 
006. '00 
0O6/00 
000 500 

04/ /oo 

0/0001 
0014/5 
1044// 
OOV03 
0/0 5?/ 
101/41 
01*700 
016066 
1OO00S 
01/73/ 
004/5/ 
01/ ZOO 
000«. 01 

oosooo 

06/ ; 0<» 
OOOdOV 



MOMx [ll'.K * ORMAI It M 

lU OHAl RUUTINK DLCLAHAUONS 



000006 
0000/0 
0O0O01 
000001 
00000/ 
00000/ 
0OOO04 
00000 5 
0000 10 

oooooou 

OOOCKKX, 
000004 



S Mur I 'Ift4 14 tM 1/6 
r » Mar 19H4 14-40}^^ 



•>IU 01«5 
VAX 11 HI! Hi 16 V4.0 S/'* P«o« HO 

P ISK IUSKR.' s [ » OUNG , PMT ] /MUb4 . Bid | 5 f .V ; 



OOOOOOii 
00000/ 



1/7/60 



5S/50 

OOOOOOG 

00000/ 00000/ 

0000/ I OOOOOOG 
OOO/SO' 

00OO01 



000006 



1$} 



/*: 



51: 



4$ 

Si 

61 



M: 

rtl: 
9* 5 



10$: 
111: 



Cl M R' 1 

MOV /OC.PJ.MO 

BNI II 

MOV 41, «/ 

BM 41 

CMP MO. 01 

fcJNt /• 

MOV 0/,R/ 

BR 41 

CMP HO.O/ 

BN» 5| 

MOV 04, R/ 

HP 4t 

CMP R0,03 

BNt 4 1 

MOV 010.H/ 

CI R R3 

MOV I.ICPU.RI 

BEG. 91 

MOV LIDl i ,R0 

B£Q 8$ 

CLR 4CSP) 

DFC RO 

BHk ?t 

DfcC Ml 

BR 6* 

MOV RORX.ADOR.RO 

MOV Z(ROMSP) 

MOV R/.R1 

MOV (SP).RO 

A<.R RO 

ASM RO 

ASR RO 

SWAH RO 

HIC 01/V60.R0 

CMP HO, Mi 

Bl Ul 
I MAP 

INC MS 

CMP R5.05S/50 

BIOS M 

MOV RDRx,ADOM,MO 

MOV /(ROl./r.P) 

BPl 10* 

MOV 0/1, Rt I . .FAlUS 

JSM PC, Of coot 

MOV 01, MO 

HM 1/f 

C\ M RO 

ADD Of. t ^P 

Hi* PC 



\ TF P. VAI 
r .F (3, NO,* 

♦ .'itfcP.VAl 



♦ .STfcP.VAl 



♦ ,'jTFP.VAt 



* ,'iFfP . VAI 
TIM.QU* 

♦ , II IMP/ 

♦, IITMP1 

I i IK? 
MTMPl 

$$TMP t » 



♦.mcis.mh. 

ST* P. vAl , . 
RCtS.MLli,* 



riM.Oi.iT,* 



• .HXlS.RLl't 



41H4 
41'#1 
41'#4 

4 1'iS 
41V1 
41'#/ 

4 1 #6 
4 1*#1 

4/00 

4/»- ; 
41 n 

4/0', 

4/04 
4/1 5 
4/1S 



4/// 



4/1 < 
4/'.i 



4/ « ' 
4, 5-* 
4 1 ' • 



i i 



t 
.) 

.'"^tU Hl)K\ OI'.K tORMAMIN •. M«r 1<#84 14,M),'*, VAX 11 H i i h?i I'. V4,o ', /'« ^Vai^ HI 

RK C N1CH U OHrtl ROUTIW MCI ARATMNS U hnr 19H4 I4i40il>tt DISKSUbbft' ! t fOUNG.F MT 1/RUB4 ,fJ16i 3 f ^i? i 

; Routine sl/e: /H word*, Routine [)A»e: tCUDLt * ^U6i? 

; Hax'mvjm tttnck depth per JfivOCttt »oni *} worcl» 

j 4J45 1 



)l 



/RUW4 

RhV C PATCH 



4/44 
4/'4S 
4/4t» 

4/4: 

4/4!A 
4/4** 

4.:m 

4/V 
4.-'V< 

4/S4 
4/SS 

4/Sti 
4/S ' 
4/St* 
{ 4/V* 

j 4,>»0 

4/M 
4. J t>^ 
4Jt>3 
4?t>4 

4;?6S 

4/M> 

4*>t>: 

4J6H 

4<>70 
4. :7\ 
4 t \V 
4 r \M 
4;V4 
4.\'S 
4»W» 

4;» * * 

4,','H 

4// * 

4. 'BO 
4/81 
4/H.' 
4/85 
4/M4 
*»«.'B j 
4/M* 

4/ ft/ 

4>'MM 
4,'f'.'* 
4,"#0 
4,'M 
4,"V 
4. *' 
4/**4 
4/ 1 *', 
4 s'4y. 



ROR\ DISK f ORMAT U R 

Gl.OHAl ROUT IN* Df Cl ARAT ION?; 

global routine BOOT RDRX » 



S Mar l'Jo4 14jM:,'6 
S Mar l<*o4 14i40i!j8 



VAX 11 Bliss I*. V4.0 !>/«< ,hQ Page rJ H f - 

DISKIUfibR^il rOUNti,KHTl/RQU4.B16t3 C25; 



'Performs RDRX inlt sequence 



functional Description ; 

This routine par forms the in i t i al i /at I on sequence of the RDRX 
ROHX control ler, 

The in 1 1 I al 1 /at I on procedure serves to: 

1. Identify the parameters of the host resident communications 
region to the port. 



Prov i de 



confidence checW of port /control ler Integrity. 



5. Uriny the port /control ler online to the host (note th«t the 
devices attached to the controller are not thereby brought 
online to the class driver.) 

formal Parameters : 
none 

Implicit Inputs : 

ISO, STRUCT Stores the in?t sequence read and write data defined 
for this program and controller. 

lmpl ic i t Outputs : 
none 

Complet ion Codes : 

Success: Is returned to the calling routine if this initialization 
sequence was e«*ecuted successfully. 

Failure: Is returned to the callng routine If this initialization 
sequence was not executed successfully. 

Side liffects t 

Any QH code that might have been runn I ng in the OH machine w!)i be 
aborted. 

Any out standing commands or response pertaining to a process using 
the controller will be lost. 



beg! n 

local 

Tt'.rlP 



wordi 



! Temporary storage location 



The host begins the initialization seqvjence 
either by issuing » bu'j init or ©y writing 
nr\f vnlvje "nto th« \v register: the port must 
guarantee that the host will rend zeros In SA 



ORtlfcU 




R{ V C »Mi 


OH 


J ^N' 


4 > 


I 40*' A 




; 40'*'* 




; 4 VO 




; 4 VI 




; 4 50/ 




5 4303 




; 4 504 




; 4 V. 




; 4 50b 




; 4 50' 




; 4 50* 




i 4 '.0'* 




; 4 510 




; 4MI 




; 4 510 




; 4 5 1 5 




; 4 514 




; 4 5 1 S 


? 


; 451b 




; 4 M / 




i 4 518 




; 4 514 




: 4 500 




; 4 301 




; 4 500 




: 4 503 




; 4 504 




; 4 505 




; 4 50b 




; 4 30 / 




; 4 VH 




j 4 304 




; 4 MO 


3 


; 4 5 51 


3 


; 4 5 50 




I 4 '.55 


3 


; 4 3 34 


3 


; 4 MS 


4 


; 4 5 5b 


4 


; 4*3 ' 


4 


; 4 53M 


4 


; 4 5 5'* 


4 


; 4 '.<Ui 


4 


4 54 1 


4 


; 4 54.' 




; 4*4 5 


* 


; 4 544 


i 


; 4 54S 


/ 


; 4 54b 


^ 


; 4 54 


*i 


4 '.4". 


V 


: 4 549 


\ 







RPR\ Dls»< ^ Of-'- * T Tl R 

LH.OBAt ROUTP Ct ARAT IONS 



) 



S -Mar -1984 14 : r l;Or> 
S Mar 19tt4 14;40:btt 



SKU 018b 
VAX FUins lb V4 , V f ' Page A 5 

DISKHJiifcRi?:! YOUNG, KMT]ZRQU4.B16j3 (di) 



on the nest bus cycle. Initialization then 
sequences through steps 1 -4 aw per UQSSP.DOC 
V e r s 1 on 1,5, 

Write to the IP regisler and start the init 
sequence go I ng , 



URT .ROHX CRCIP, WC.All, ONF S ) j 



{Begin inlt sequence 



This incr loop performs all tour steps of the 

initialization sequence described above. The 

SA wr'te and read data is preset into the 

structure ISD. STRUCT and stand* for 
"Initialization Sequence Data .STRUCT ", 



If a step time out error occures the test 
invoking this routine will tafce the necessary 
retry procedure. A return code of failure in 
returned. 

If any SA register compare error is detected after 
a step completion the routine Decode will decode the 
error and load statistical tables up pertanate data 



ncru S1.U..N0 from STfcPl to SUP4 do 
begin 



!Do the four init seq steps 



Wait for the controller to load the SA reg 
up with the step data. 



if [S TIMrR ( . Sr'U NO) 
then 

beg i n 
i 

! DO SOhY ' i 1 A T TAHIK l>P DATA TO '.HOW 

! THfr TIMr OUT 

i 

PRINtf (.fMSCi STRUCT IMSlilOPj 

return FAll UMI-. } 

end; 



}D«d the Controller time out 



(Notify IMS* init of the failure 



The controller d^d not time 0'-*t so ^e^d the '»A register 

f or the t> pec ted step data nrni compare it to the good 
data stored in ISO STRUCT . 

If the read bA data i* not what we expect then return a 



) 



/RUH4 




RlV C PATCH 


; 4 550 


5 


l 4 5S1 


.5 


; 4 3 V 


5 


; 4 3S5 


5 


; 4 5S4 


5 


; 4 355 


5 


; 4 556 


3 


; 4 55 .' 


5 


; 4 358 


5 


; 4 55 v » 


5 


4 560 


4 


; 4 361 


4 


; 4 5rO 


4 


; 4 5t.3 


4 


; 4 564 


4 


4 565 


4 


; 4 3r>6 


4 


; 4 5* .* 


4 


; 4 568 


? 


; 4 5h* » 


3 


: 4 5 /o 


5 


; 4 5/1 


5 


; 4 5 ,V 


5 


; 4 5 '5 


5 


; 4 5/4 


5 


; 4 5/5 


5 


: 4 5 76 


5 


; 4 5/ ; 


.5 


4 5/8 


5 


; 4 5 ,N 


4 


; 4 550 


4 


: 4 581 


5 


; 4 58. J 


5 


: 4 58 5 


* 


j 4 584 


3 


; 4 585 


i 


i 4 586 


5 


i 4 58/ 


5 


; P 4 588 


5 


; 4 58'* 


5 


; 4 V>0 


j' 


j 4 5^1 


4 ■ 


; 4 5'V 


l 


; 4 5'* 5 


'» 


; 4 5 l #4 


> 


j 4 V>5 


> 

• 


; 4 Vl», 


i 


; 4 5'*.' 


t ' 


; 4 598 


1 



RORX DISK K1RMATM M 

GLOBAL ROUT INF l)t Cl ARAT IONS 



fa! lure code . 



5-Mar-l984 14;5l;^6 
5-Mar 19H4 14:40,58 



vax n niiwfj- 16 v4.o 5/9 

[)ISK$USt;H^j[rOUNG.F'MTl/RQH4 t B16 } 



'.tQ 018/ 
Page 84 
3 f23) 



Note that the reserved f ields read !n the SA register ore 
or'ed H?th all ones to mask out the field before compared 
to the expected data stored in the structure "ISO STRUCT". 

TEMP - (C.RDRX_ADDR (RCSA, RC.ALl}) or (. RSVD.. STRUCT [ , SEQ NO ] V- j 

If , TfcMP nequ . ISD„STRUCT r.SEQ.NU, ISRD, ISR.ALl ) "Compare read to expected 
then 

begin 

Load some satistical table up with 
some data to indicate that the Init 
sequence had some trouble. 



PRINT*' (.LMSl, STRUCT [MS(>11])| 

return FAILURE ; 

endj 



We nttd to save the micro code 
version number If tnis is step4, 
Save the ucode version in UC .VfcR 
if this is step4. 



i f , SFQ NO eqlu STFP4 
then 

begin 

UC VER - .RURX.AUDR I RCSA, 54R..VER]| 

end; 



•Return a failure code 



! I« this *seq step 4 

{Save the ucode version 



This step read data is what we expected so 
write the SA register with this steps write 
data stored In ISO STRUCT. 

WRT RDRX (RCSA, RC Al [ , .'Write the >A register 

.ISO ..STRUCT I.SEU.NO, ISWRT, tswAlL]), "Locate the data 
end; 



! I he controller Initialization *ieq>ience ***'* 
1 done successfully so return a success code. 



return SUCCLSSj 
end; 



0G0C00 004 157 Q-OOOOuu 



. '.HTTl. 

HOUr ( RlJRx : • 



HOOr.RuRx Lil OHAl ROWTIN* 1)1 Cl AHA 1 IONS 



i;i.« 



/RUB4 
R^V C 



PATCH O 



000004 
0000 10 
000014 
0000/0 
0000/4 
0000 J t. 
000050 
000054 
IK">0056 
000040 
00004/ 
00004* , 
OOOOS/ 
000CS4 

000060 
000064 
OOOO // 
0000 ,'4 
0000 /6 
00010/ 
000 10*i 

ooo no 

00011/ 
000114 
000 1,?0 

ooo l/; - 

0001/6 

00013/ 
0001 ^4 

ooo i v» 

000140 
00014.' 
000146 
000 ISO 
0001S4 
00016.' 
000166 
0001// 
0O01 '6 
000/0/ 

ooo/ 06 

000.' 14 
0002/0 
000//4 
000//6 
000/3/ 
000/54 
000/40 
000/4/ 
000/44 
OOOdbO 



16/706 
01 7/46 
01/ /OO 
0100/ * 
OOS00 3 
010546 
004 7 5/ 
0057/6 
006 00 
10500/ 
013 '46 
01/ 746 
OlObOO 
10441 / 
0004/ / 
013700 
016066 
010500 
006500 
016604 
0S60O4 
01030/ 
006 30. * 
00630/ 
0/04t>/ 
001410 
Ot 3/46 
01/ /46 
010600 
10441/ 
0//6/6 
000440 
0/03// 
00101S 
013/00 
016066 
016600 
04/ '00 
10S037 
IS003/ 
013700 
016066 
016/01 
010160 
005/03 
0/03// 
1016 /S 
01 //<)0 
00040 1 

oosooo 

0».//06 

000*20/ 



RUKX DISK i ORMAT UR 

GLOBAL ROUTINE DbCLARAUONS 



000006 
OOOOOOG 

l / ; / / / 

OOOOOOG 



S-Mnr-1984 14:51 :/6 
!»-Mar-l9B4 14j40iS6 



StQ 0188 
VAX-31 Bliss- 16 V4.0 -5/'* Pane H 1 , 

1 SK IUSF.R/ 5 1 1 0UNG . FMT ] ZRQB4 . B 1 6 j 3 ( / 3 j 



00506/' 



0000/4G 
000001 



OOOOOOG 
00000/ 00000/ 



00000/ 
OOOOOOG 



OOOOOOG 

00O0/t»U 
000001 



000003 



OOOOOOG 

00000/ 

000004 

1 / / /60 

OOOOOOG 

OOOOOOG 

OOOOOOG 

00000/ 

00000/G 

00000/ 

000003 

000001 



UOOQIU 



000004 



000006 





JSR 


R1.ISAVM 




SUH 


06.SP 




MOV 


WRDRx.AQDR, (SP) 




MOV 


■ 1 . RO 




MOV 


RO.aRDRX.ADDR 




Cl.R 


R3 


1$: 


MOV 


R3. (SP) 




JSR 


PC.IS.TIMb.R 




1ST 


(SP)* 




RUM 


RO 




ncc 


/♦ 




MOV 


lMSG,STRUCT*/4,-(SP) 




MOV 


01. (SP) 




MOV 


SP.RO 




TRAP 


1/ 




HR 


31 


^ii 


MOV 


rorx.aoor.ro 




MOV 


/(R0),/(5P) 




MOV 


R5.R0 




fcSl. 


RO 




MOV 


?(SP),R4 




BIS 


RSVD.STRUCT(RO),»* 




MOV 


R3,R/ 




ASl 


R/ 




ASL 


R/ 




CMP 


R4,ISD.STRUCTCR*>) 




Ut.Q 


4* 




MOV 


I.MStl. STRUCT »P6, -ISP) 




MOV 


#1, (SP) 




MOV 


SP.RO 




IRAP 


1 / 


31: 


CMP 


i SP ) . . ( SP ) * 




HR 


6* 


4$: 


CMP 


R5.35 




BNt 


SI 




MOV 


RDRX.ADDR.RO 




MOV 


/(R0),4(SP) 




MOV 


4(SP1,R0 




NIC 


01///60.RO 




Cl RB 


UC . Vt R 




Br SB 


RO.UC.Vt R 


5ij 


MOV 


RDRX.ADDR.RO 




MOV 


/(R0),6i SP ) 




M(W 


lSD.SlRUCr»/(R/),Rl 




MOV 


Rl ,/(R0) 




INC 


R5 




CMP 


R 5 , 5 




Ml OS 


11 




MOV 


'U ,R0 




HR 


/i 


6$ : 


Ci R 


RO 


/*: 


Wi) 


<H , SP 




RTS 


PC 



; ♦ .RCIS.Rf.G 

j ♦.RCIM.Hl-'G 

; RCIM.RFU,* 

i S( U . NO 

{ SfcQ.NO,* 



; SP,* 



j *,RCIS.RF.C 

j StQ. NO,* 

i RClS.RKi. rhMP 

; *,TFMP 

i St-U.NO,» 



; fhMP,* 



; SR,* 



; Sl-IJ.NO,* 



; ♦.RCIs.RU. 
j RCIS.RKli,* 



: ♦.RCIS.RU, 

; ♦ .HCIM.HlU 

; RCtft.RlG.* 

{ SKJ.NO 

j 5FU.N0,* 



4/44 
4 305 



4 5/6 
4 333 



4 340 



4 54 1 
4 556 



4 35 A 



4 3*6 



4 w 

4 360 

4 '. ' ' 

4380 



4 W 

4 </♦• 

4/ -5 ' 
4/44 



/RUB4 

*u:v c patch 



RDR\ DISK f ORMAT I IR 

GLOBAL ROUTINE DECLARATIONS 



) 



'.-Mnr-1984 14:M:, J 6 
5 Mar -1984 14:40:58 



VAX 11 HI ;•»•*■ 1*. V4.0 5/<* Page 8>, 

DISK$UStRi>:i rOUNG.KMTl/RUU4.EU6»3 r*5) 



; Routine Sl/e; 8S words, Routine Ha%e; $CUUh$ * 5316 
{ Maximum stncK. depth per invocation* 13 words 



4 399 I 



-i i i 



LI 



. ; 



/RUB4 


RF.V C PATCH 


; 4400 1 


; 4401 1 


; 44 0J 1 


*403 1 


; 4404 1 


i 4 40S 1 


4 406 1 


; 440 .' 1 


; 4408 1 


; 440^ 1 


; 44 10 1 


; 4411 1 


; 441^ 1 


; 4413 1 


44 14 1 


j 4 4 IS 1 


; 441*. 1 


; 44 1; 1 


; 4418 1 


; 44 IM 1 


; 44^0 1 


; 44;u 1 


; 44.'? 1 


; 44^5 1 


; 44 k >4 1 


; 44.?S l 


; 4426 l 


; 44iV 1 


; 44 t '8 1 


! 44,>9 1 


; 44*0 1 


s 44 31 1 


; 44V 1 


i 44 53 1 


; 4454 1 


; 44 4S 1 


; 44 5b 1 


; 44 5/ 1 


; 44 58 1 


; 44 59 1 


s 4440 1 


; ^441 1 


J 444<> 1 


; 4445 1 


4444 1 


! 444S 1 


I 4446 1 


; 444/ 1 


! 444M 1 


; 444^ 1 


; 4 4 So 1 


; 44S1 : 


; 44S* 1 







RCRX DISK y ORMAMfR 

Gl.OBAi. ROUTINE DECLARATIONS 



fj -Mar -1984 14:51:26 
!> -Mar 1984 14:40:50 



VAX-11 HI iss 16 V4 .0 5-/9 
DISIOUSLR2:[ YOUNG. f r MT}ZRUB4,b , 16j 



SEU 019Q 
Page 8/ 

3 (24) 



global routine INIT.COM ..AREA ■ Units DU° Protocol commumi cat ion area 

• * 

functional Descr iption : 

After ini t ial i/at icn step 3 the port controller clear** out 
the communication area's r i nQ buffers. 

This routine first makes sure that this protocol if? nccom- 
plished by the port before proceeding. 

If the port did its part of the protocol then the communic 
otions area is initialized as follows: 

I, Defines from the contigicus data storage structure 
"COM AREA" the header area address, receive ring 
address and the send ring address (these structures 
are initially declared as reference structures and 
require an address to be defined as its value per 
BLISS language conventions), 

c\ Clears the interrupt indicators and adaptor purge 
(ring base 1, ■ ?. , 3, 4) defined as "WAD ARIA" . 

3, Loads the receive and send descriptors with the values: 

a. Envelope low, high *»nd QS.bus add res*; 

b. Reserved field 

c. Flag bit 

d. Ownership bit 

4, load the receive envelope message length field with the 
buffer size in bytes, 

5, Initialise the Out $s t and ing command buffer to reflect 
that all slots nre unused, 

formal Parameters : 
none 

Impl !c i t Inputs : 

HtAO. AHt-A, RECEIVE. .RING, SEND .RING. COM AREA 

Implicit Outputs : 

The communication area as a result of this 
routine will be initialized for host program 
to remote program communications per DUP and 
UUsSP spec i f i c at i ons . 

Completion Codes : 

TRUE: Lrror code to indicate the port controller has 
not full filled its part of the DUP protocol. 

FALSE: An error code to indicate the port controller 
has fullfilied its part of the OW protocol. 



) 



7RUB4 

REV C PAICH 



44M 

44S4 

44 V, 

44*u> 

44V 

44*>8 

44 V) 

44t?0 

44 hi 

44b J 

44 b 5 

4464 

44bS 

44bb 

4 46.' 

44<»8 

44b l * 

44/0 

44/1. 

44. 

44 ; J . 

44 /4 

44 7f, 

44 /*> 

44 // 

44 /H 

44 / l * 

44 HO 

44H1 

448** 

4481 

4484 

448S 

44 86 

44 8/ 

4488 

44MH 

44M0 

44**1 

44'V 

44**5 

4494 

44**S 

44 l *b 

44'*/ 

^448 

44'*'* 

4 SCO 

4S01 

4'iuV 

4S0'. 

4S04 

4L>0b £ 



RORX DISK F ORMAI ' Tt H 

GLOBAL ROUT INK DECLARATIONS 



r » H«rl%4 14:?il:2b 
5-Mar-1964 l4 5 40;Sa 



SEU 0191 
VAX 11 Bliss- U> V4.Q b79 Page 88 

DISKIUSER2: HUUNG.FMT ]ZRUB4,B16j S (24) 



Side Effects 
none 



begin 



Moke sure that the controller has done its part of 
the DUP protocol by clearing out the ring buffers. 
If the rings are not cleared out then return with 
an error code of true. 



ncru ! from *? to HING..SI/E 1 do 

incru i from WRDO to WRD1 do 
i 



.'Test all blocks for zeros 
! Test all words for zeros 



Test this word for zeros. If not zeros then e\it 
this routine with an "communication area init" 
error code to indicate the Protocol violation, 



if .COM.. AREA [ 



O. WORD. REE] nequ ZERO then return Clfc„C0UE 



The port did its part of the protocol so now 
define the address locations of the HEAD AREA, 
RECEIVE. .RING and SEND RING From the contigious 
storage declared by COM .AREA. 



HEAD AREA - COM AREA. 

RECEIVE. RING - COM AREA [REC BASE]; 

SEND RING - COM AREA ( SND UASE 1 ; 



JDefine the header area 
♦Define the receive ring area 
J Define the send ring are.i 



Not Quite sure if the port has to clear out 
the header area of the communications area 
so I'll clear it out here just in case. 



ncru i from WRDO 
HEAD. .AREA I , i 



to WRD3 do 
WORD REE ] 



/EROS; 



Load up the ^en<i Ring descriptors with an envelope address* 
define the "Mag bit" to * \ (interrupt requested), define 
the "Ownership bit" to * (owned by hoot) and load the 
Reserved field with zeros (per UK^ spec)* 



ncru i from to SND.ALLUCATt - 1 do 



I. I < . 



<1. 



:> 



ZRUH4 




REV C PATCH 


: 4506 


3 


j 4 50; 


3 


; 4508 


3 


; 4509 


3 


4510 


3 


451 I 


3 


; 4M? 


3 


j 4513 


v. 


; 4*i 14 




; 4515 




; 45 H> 




: 451.' 




; 4M« 


,t 


; flSi^i 


> 


j 45^0 


-y 


; 45.U 


i. 


45^ 




J 45r?3 


3 


; 45,:4 


3 


; 45i>5 


3 


; 4526 


3 


i 4s:v 


3 


; 4528 


3 


; 452 1 * 


3 


; 4530 


) 

t 


J 4531 




I 453? 


■■> 


; 4533 




; 4 534 


> 


; 1535 


L. 


; 4536 


1 


; 453/ 


'1 


; 4538 


' 1 


4539 


?. 


; 4540 


"> 


; 4541 


■"* 


; 454,"' 


" 1 
I ■ 


; 454 3 




; 4544 


1 1 
I. 


; 4545 




j 4 546 


' 1 
I. 


; 454/ 




; 4548 


t. 


; 4549 


t . 


4550 


?. 


; 4551 


- > 


; 455/ 


■j 
i - 


; 4553 


"> 


; 4554 




; 4555 




; 455h 


( 


; 455/ 


3 


j 4558 


3 



RDRX DISK EORMATTtR 

GLOBAL ROUTINE DECLARATIONS 



5 -Mar- 1984 
5 Mar -1984 



5EQ Ol'V 
14:51:i?6 VAX 11 FUiss 16 V4.0-5/9 Page 89 

14: 40; 58 DISKJUSER? ; [ YOUNG .FMT ]ZRQB4 . B16 j3 (24) 



beg i n 

SEND RING [ . 

SEND RING [ . 
SEND„RING { . 
SEND RING ( . 
SEND RING r . 
SEND^RING [ . 
er\d; 



1.0 ENiAD] 
HI ENSAD] 
Qtf EXT] - 
D*RSVD) - 
El. AG BIT J 

own Jim 



* SND ENVELOPE 
- ZERO; 
ZERO j 
ZERO; 

■ SET F LG; 
■ HOST OWNED; 



[,I, CMD..LREE]j } Low-order envelope adress for all sys 

.'High order portion of an 18 -bit U/Q bus adrs 

}Q„bus extent ion 

•Reserved field 

!F lag bit whose meaning varies depending on dsc state 

J Indicates whether dsc is host or port owned 



Load up the Receive Ring descriptors with an envelope 
address, define the "Ownership bit" * 1 (owned by port), 
define the "f-'lag bit" to - 1 (Interrupts requested) and 
the reserved field set to zeros {^>cr DUP spec). 



ncru i from to REC ALLOCATE 



1 do 



begi n 

RECEIVE RING 
RECEIVE RING 
RECEIVE RING 
RECEIVE RING 
RECEIVE RING 
RECEIVE ..RING 
end j 



L0_EN1ADJ 


- REC ENVELOPE 


HI..ENIAD] 


- ZEROS; 


OB.EXT] - 


ZEROS j 


DiRSVD) » 


ZEROS; 


FLAG BIT] 


■ SET ELG; 


0WN„BIT] - 


■ PORT. .OWNED; 



[.!, CMD..LREE]; 



Reset the communications areo pointer to 
their initial state. 



NRD SLOT * 1; 
NSD SLOT - 1; 
NXT. CRN - ZERO; 



•Start ring pointer at zero 
•Start ring pointer at zero 
! Start unique cmd ref num nt one 



! Set the response envelope message length size equnl 
! to the buffer size in bytes starting at text ♦ 0, 



incru i from to REC ALLOCATE 1 do 

REC„BNVEXOPE t.i. MSCi ..LENGTH] » RB..SIZE*.'; 



.'Convert to bytes before loading 



In i t the outstanding command buffer as follows: 

1, Indicate that all slots are unused by loading 

the unique value *o' 100000' . 
'?.. Clear the envelope ndrs words to zero, 

ncru i from to REC Al 1 OCATf - 1 do 
begin 
OUr$Sro_BU t.i, CMU URU] ♦ *o' 100000' ; !Uefine the slot ns unused 



i L.. 



7R0B4 

REV C PATCH 



4559 
45t>0 
4561 
4562 
45t>3 
45b4 
45t>5 
4 b 66 
45b7 

4566 



5 



RDRX DISK FORMAT HR 

GLOBAL ROUTINE DECLARATIONS 

OUTiSTD_BUF [.J, ENV..ADR] - ZERO; 
end! 



No errors detected by this routine so 
return with ar\ non -error code of false 



„J> 



5 -Mar -1984 14:51:26 
5-Mar~1984 14:40:58 



VAX-11 Bliss-- 1* V4.0 5/9 
[)ISK$USER2: [ YOUNG. FMT ]ZRQB4.B16j3 



SEQ 0195 
Page 90 
(?A) 



IClear out the envelope adrs field 



return PAS, CODE; 
end i 



000000 004157 



000004 
000010 
000012 
000014 
000016 
000020 
000024 
000026 
000032 
000034 
000036 
000042 
000044 
000050 
000054 
000056 
000064 
000072 
000100 
000102 
000104 
000110 
000112 
00011^ 
000122 
000124 
00012b 
000130 
00017,2 
000134 
000136 
000142 
000144 
000150 
000154 
000160 
0001*. 2 
000164 



012701 
005002 
010100 
060200 
006300 
005760 
001403 
012700 
000207 
005202 
020227 
101763 
062701 
020127 
101/55 
012737 
012737 
01273/ 
005C00 
010001 
063701 
005011 
062700 
02002 / 
101767 
005003 
010301 
006501 
006301 
010102 
063 702 
010546 
012746 
004 / \ / 
062700 
010012 
010100 
063700 



000000G 
000004 

OOOOOOG 
000001 

000001 

000002 
000022 

OOOOOOG 000000b 
000010G OOOOOOG 
000030G OOOOOOG 



OOOOOOG 

000002 
000006 



.SBTTL 

INIT.COM, AREA; 
JSR 



INTT.COM. AREA GLOBAL ROUTINE DECLARATION? 



1$ 
2% 



3$ 



45 



5$ 



OOOOOOG 

000054 

OOOOOOG 

000004G 



OOOOOOG 



MOV 

CLR 

MOV 

ADD 

ASL 

TST 

BEQ 

MOV 

RTS 

INC 

CMP 

BLOS 

ADD 

CMP 

BLOS 

MOV 

MOV 

MOV 

CLR 

MOV 

ADD 

CLR 

ADD 

CMP 

BLOS 

CLR 

MOV 

ASL 

ASL 

MOV 

ADD 

MOV 

MOV 

JSR 

AOD 

MOV 

MOV 

ADD 



R1.ISAVK3 

04.R1 

R2 

Rl.RO 

R2.R0 

RO 

COM.AREA(RO) 

3* 

#1,R0 

PC 

R2 

R2,n 

2* 

02, Rl 

Rl,*22 
1* 

OCOM. ARE A, HE AD. AREA 

OCOM . ARE A * 1 , RE CF I VE . R ING 

4C0M . ARE A ♦ 30 , SEND . R ING 

RO 

RO.Rl 

Hi AD. AREA, Rl 

CRD 

02.R0 

R0,tf6 

4$ 

R3 

R3,R1 

Rl 

Rl 

HI.H2 

5FND.RING.R2 

R3, (SP) 

054 , C SP ) 

PC. HI *MU. 

OSND. ENVELOPE »4,R0 

R0.CR2) 

Rl.RO 

send.ring.ro 



*.I 

J 

I.* 

J J,* 



: J 

{ J.* 

j ♦,! 

J I.* 



! 


1 




i 


I 


♦ 


i 


* 


I 


1 


1 


* 



} It* 



! I,* 



4400 
446/ 
4469 
44 76 



4469 



446 7 



44M5 

4466 
448/ 
4495 
4496 



4495 



4505 
450 7 



450i< 



M I L 



M 1 5 



ZRQB4 

REV C PATCH 



000170 
000174 
000200 
000202 
000204 
000210 
000212 
000214 
000216 
000220 
000222 
000224 
000230 
000252 
000234 
000236 
000240 
000242 
000246 
000252 
000254 
000256 
000262 
000266 
000272 
000274 
000300 
000302 
000310 
000316 
000322 
000324 
000332 
000336 
000342 
000344 
000346 
000354 
000360 
000364 
0003/0 
0003/2 
000 574 



062700 

012710 
022626 
005203 
020327 
101746 
005003 
010301 
006301 
006301 
010102 
063/02 
010300 
000300 
106000 
006000 
006000 
142 700 
062700 
010012 
010100 
063 700 
062700 
012710 
005203 
020327 
101745 
012737 
012737 
105037 
005000 
012 760 
062700 
020027 
101//0 
005000 
012/60 
005060 
062/00 
02002/ 
101766 
005000 
000207 



RDRX DISK FORMAT TF.R 

GLOBAL ROUTINE DECLARATION! 

000002 
040000 



000003 



6$ 



OOOOOOG 



00007/ 
000004G 



OOOOOOG 

000002 

140000 

000003 

1777 77 OOOOOOG 
177 777 OOOOOOG 
OOOOOOG 



000074 
000100 
000300 



OOOOOOG 



100000 OOOOOOG 

000002G 

000004 

000014 



7$ 



8$ 



5-Mar-1984 14:51:26 
5 -Mar -1984 14:40:58 



VAX-11 BlJss-16 V4. 0-579 

DISK 5USER2 : [ YOUNG . FMT ] ZRQB4 . B16 i 3 



ADD 


02 . RO 




MOV 


#40000, (RO) 


l 


CMP 


(5P)*.CSP)* 


9 


INC 


R3 


J I 


CMP 


R3.03 


i I.* 


BLOS 


5$ 




CI.R 


R3 


, T 

1 *■ 


MOV 


R3.R1 


I I.+ 


ASL 


Rl 




ASL 


Rl 




MOV 


R1.R2 




ADD 


RECEIVE, R1NG.R2 




MOV 


F-S.RO 


: I.* 


SWAB 


RO 




RORB 


RO 




ROR 


RO 




ROR 


RO 




BICB 


$77, RO 




ADD 


OREC. ENVELOPE >4,R0 




MOV 


R0,(R2) 




MOV 


Rt.RO 


! 


ADD 


receive.ring.ro 




ADD 


02, RO 




MOV 


0140000, (RO) 




INC 


R3 


{ I 


CMP 


R3.03 


; I.* 


BLOS 


6$ 




MOV 


$-1, NRD. SLOT 




MOV 


l.NSD.SLOT 




CLRB 


NX T. CRN 




CLR 


RO 


! i 


MOV 


074,REC.ENVELOPE(RO) 


{ ♦ .♦(!) 


ADD 


0100, RO 


; *.I 


CMP 


R0.0300 


; T.+ 


BLOS 


7$ 




CLR 


RO 


; 1 


MOV 


• 1 00000 , OU T $ S T D . BUF ( RO ) 


J *.*( 1) 


CLR 


0UT$5TD,BUF*2(RO) 


: *cn 


ADD 


04, RO 


; *. I 


CMP 


R0.014 


I T,* 


BLOS 


8$ 




CLR 


RO 


• 


RTS 


PC 


! 



>EQ 0194 
Page 91 

(24) 



45i;> 

4506 
4505 



4522 

45r?4 



4525 



4529 
4522 



453 7 
4538 
4*i 39 
4546 

454 / 
4546 



455?' 
4558 
4559 
4556 



4-V.M 

4400 



Routine Size: 12 7 words, Routine Base: $CODE$ ► 55/0 

Maximum stock depth per invocation: 7 words 



4569 1 

45/0 2 

45 71 2 

45.V 3 

4573 1 



global routine copy ( ff F , ttt, length) 
beg'n 

incru • from to .length by 2 do 

.ttt ♦ . ; =■ a . ft r f * . ; ) 

end. 



Jcopy a string 



i\i 



ZRQB4 

REV C PATCH 



RDRX DISK FORMATTER 

GLOBAL ROUTINE DECLARATIONS 



N15 



5 Mar-1984 14:51:26 
5-Mar-1984 14:40:58 



SEG 0195 
VAX-11 Bliss 16 V4. 0-579 Page 9? 

DISK $USER2 : [ YOUNG . FMT ] ZRQB4 . B16 j 5 (24) 



000000 
000004 
000006 
000010 
00001c} 
000016 
000020 
000024 
000026 
000032 
000036 
000040 
000044 



004137 
005001 
000411 
010102 
06660c 1 
010100 
066600 
011012 
062701 
020166 
101764 
012/00 
000207 



OOOOOOG 

000012 
000014 

000002 

000010 

177777 



COPY 



1$ 



2$ 



.SBTTL 


COPY GLOBAL ROUTINE 


JSR 


R1,$SAVE2 


CLR 


Rl 


BR 


2$ 


MOV 


P1.R2 


ADD 


12(SP),R2 


MOV 


Rl.RO 


ADD 


14(SP),R0 


MOV 


(R0),CR2) 


ADD 


42.R1 


CMP 


R1.10CSP) 


BLOS 


1$ 


MOV 


0-1, RO 


RTS 


PC 



DECLARATIONS 



l I 



I.* 
ITT 

I.* 



I 

LENGTH 



4569 
4570 

4572 



4570 

4569 



Routine Si/e: 19 words. ^ Routine Base: $CQDE$ ♦ 6166 
Maximum stack depth per invocation: 4 words 



45 74 1 

45/5 1 

45/0 1 

^577 



eludom 



OTS external references 
.GLOBL $SAVE4, 



$SAVb:^ $SAVE2 ( BL5MUL 



Psect Name 

$CODE$ 



PSECI' SUMMARY 



Words 
1614 



Attributes 
RO , 1 



LCL 



REL 



CUN 



Library statistics 



Fi ie 



D15KSU5ER2:l rOUNG.FMT ]ZRQBBO.L 16; 4 



Total 


• Symbols 
Loaded 


Percent 


P*ges 
Mapped 


Process • rig 
T ! me 


358 


313 


8/ 


18 


00:00.1 



) 



f 



-*HdH4 

HI V C PrtlCH 



RORx 01 sk I ORMAI T* M 

IU ORAL ROUTINE Of Cl ARAT ION' 



'. Mar l'*«4 14j r il :,*6 
5 Mrtr 1<W 14:40: l j» 



VAX il Bllsw 1'. V4.0 5 ft Page '*l 

UlSKfUSfcftesI rOUNli.f'MT )/RQB4,Bl^; 3 r^j 



; COMMAND OUAl U U RS 

; 01 ISs'PDPU I I'lT SRQfM.Rlfc IN:N0! l£/$OURC£ •PAGE |55 

: '.''.*e: 1614 code ♦ data words 

j Run f I me: 01 :O l ». 5 

; I lapsed T ime: 0*i.M . 1 

j i : ne«; CPU Mln: J»K>4 

J i€*.«!««« CPl' M'n; r*»Ottt» 

i Mt.rtory Used: M v » pa$e%i 

J Compilation Complete 



i / 



muis 



0001 

000 5 

0004 
OOO'i 

.VO ' 
<\\** 

l'i4*> 



C 1 1 > 



RDRX tUSK > URMATUR 

moouf /Runs 



•i Mor- l'J84 14{ r >4: r j3 
S Mar-19H4 14i41:i?l 



SEQ 010/ 
VAX -11 Bliss W, V4.Q X>1U Page 1 

DISK SUSER2 : ( f OUNG . FMT 1/RQB5 . B 16 ; 2 ( i ) 



(•1 TTl \ RDRX DISK ► URMATTI R' 
1DHIT - *REV C PATCH 0' , 
rtDuRfSMNli. MOD* (AHM)l UTE ), 
tNVTRONMENT (NOFISn • 
BKUtN 

l IHRARi •/RQHBO.l 1 e. ' j 'Define RDRX Formatter Library 

RHJi'IRF. 'HI SMrtC.HrO' i {Define BUsa macro require file 

*titint MAST ADDRESS AND bETUP SECTION' 



i l!>4* 1 



i \ i 



U\\ C PA*CH 



t 



SSO 

VV 
Vi* 

SS4 

V.S 
v»ii 
ss : 

SSH 

r .hO 
r »M 
St-.' 
Sr, 5 
V.4 

St** 

•>* ; 

Sfi^ 
S <*0 
VI 
S«V 
V5 
V4 
S/S 
Vh 
■»/ ; 

s /<» 

S80 
'■HI 
SH.' 

SM 
S84 
SH«. 

'.«/ 

SH'# 
SW) 
V*l 
V#,' 

vm 

S'«4 

'»•#♦. 

!«,#.• 



HUH* [>lMv J OHMrtl 
t AST ADDRESS AND 



St TUP SECTION 



Mar 

•Mar 



rw4 

1984 



14j',4j r »3 VAX 11 H I S 9 .| If, V4.0 V* ltQ Paie* e 

14i41jr?l DlSK»UStrttj[ ^aUNG.FMT)/RQB5,B16j? f2; 



The I AS TAD macro most be the final titnitiwjnt (except .enci) Jn a pro 
gram. The call generates an even addresu reflecting the First word of 
memory unused by the program, 

I AS TAD 



Hnrdcoded P TABLES 

These optional hardware P TABLES are locat'd (when present) between 
the "I ASTAD" macro and the ",FND" statement. These hardware P TABl f . 
are above and beyond the default hardware P TABLE located in the main 
body of the program. These P TABUS wind op appended to the BIN file 
if the diagnostic, just as though the supervisor or the "St TUP" utility 
had built them there. Thus the diagnostic can be "pre -parameter ; <:ed" 
by the programmer. 

If thi* hardcoc*ed P * ABLE sec > ! on Is not wanted then &sf'>n* "number" in 
the BGNSETUP macro to zero and omitt BGNTAB and END TAB macros, 

Coding sample is as follows: 

LASTAD 



BGNSETUP (Number) 

BUNPTAB 

(DATA) 
(OATA) 
(DATA) 
f NOP TAB 

BGNPTAB 

(DATA) 
I DATA ) 
(DATA) 
X NOP TAB 

INOSt.TU' 
.END 



HUNSE.KjP ( 1 )• 
BuNPTAH 

*U 1 /tfiW , 
tNPPTAU 



♦Number of P TABLES 



*U*1&4* 







,T1TLE ^'HUUti HDHX DISK HTHMATUN 



Rl-V C PAICH 



KOH\ DISK > ORMAI M H 

LAST ADDRESS AND SETUP SECTION 



! Mnr-1^84 14;S4:SJ 
S-Mar-1984 l^j/ll ji?l 



VAX -11 Hi:-»«i 1', V4.0-5/ r » Page 5 

DI5K$USfcR2i[r0UNG.rMT]/RQB5.B16|2 C i> J 



t*»00000 
000000 
00000/ 
000004 
0000 Or \ 
000010 
00001/ 
000014 
00001*. 

oootvo 



oooo so ■ 

000000C 
000000 
000004 
1 .VI So 

ooo r>4 

000004 
000000 
000000 



000004 
OOOOOl 
000004 

000010' 





. ID* NT 


/REV C / 






.F.NAHL 


AMA 






.PSfcCT 


IXi/l. RO 




HI St AS: 


: .WORD 


T IFHhfr 






.WORD 


* *T*FRF.E-*Bl % AS»4» 


*>/?> 


P. AAA: 


.WORD 









.WORD 


4 




P . AAB : 


.WORD 


r »(»30 






. WORD 


1S4 






.WORD 


4 






.WORD 







TU'REE: 


:.WORD 







I $LAST « 


a 


tl.H AS. 4 




T $PTHV- 


■ 


i 




IILASl- 




P. AAA 




$REM«> 




P.AAH 





I PI it count word 



oooooo ocOcHv: 



.stun $ t no . i ink last address and setup section 

$ END. LINK: : 

RTS PC 



J 



1544 



; Hovitlne S\*e: 1 word. Routine Ua-ae: *XY/$ * 00<V 
: Maximum stack depth per Invocation: words 



1S ; )'» i 
U>00 



I NO 
ELUDOH 



Psect Name 
$Xi/* 



psecr summary 

Word»i Attribute*) 

10 RO , I , 



I CI., Ret., CON 



I Jbrary Statistics 



» : !#■ 



DISKtUSbRisl f0UNG.FMTURUBU0.LUi4 



Totrtl 
3S6 



"symbols ' 

Loaded Percent 



Si 



14 



Page*. 
Mapped 

IB 



Processing 

T I me 

00 : 00 . I 



RP.V C PATCH 



RDRX Dl'iK f ORMAT U N 

LAST AUDRtSS AND Sir. TUP SECTION 



]( 



S Mar- 1**84 
5 -Mar- 1984 



„ r , , r »BQ 0,700 

14jS4:5j3 VAX 1 1 HI ! ns l'> V4 ,0 b I'* Page 4 

14j4l:i?l DlSK$UbbRi?:(YfJUNG^*MT]/RUbb.016j2 C2) 



COMMAND QUAl U IfrRS 

m.U^/PDPUA l^JT /RUBS.HU.-' 1 N:N0blb/iiUURCb»PAUL;b3 

1 '.*e: 1. cod* ♦ l * data words 

Run I i me : 00 : / . 5 

(.lapsed Time: 00 :,"»;>.<) 

t ines CK' Mlnj 15186 

i e\emes CPU Min: f>*»S8*» 
Memory t'sed: KH» p»ge« 
j CompJ lat ion Complete 



MAIN. MACRO MIJOO OS -MAR -84 14 } 44 PAGE I 



G1.L 



SLU 0201 



THIS SHORT SUBROUTINE ALLOWS TH> FORMATTER TO WORK ON EITHER 

AN f 11 OR J 11 BY LOADING LITHER A 1 OR A S INTO GLOBAL 1 OCA Won 

i icpu. thi-: oe;i ay cuuntir is multiplied by this vai.uk., which is 

TH> RATIO OF THE CPU SPEEDS. 



M 
l * 

10 

11 
K l 
15 
14 
IS 
1*> 
1/ 

r* 

;*o 



oooooo 

000000 

oooooo 
ooooo; 1 

000010 
0000 K? 
0000 If. 
OOOO.'O 
OOOO.V. 
000030 



ooooos 

000001 
000003 



01004*. 
OW?b? 

ooooo? 

OJOOJ? / 
001405 

cuvi>: 

01J600 
000 JO / 
000001 



ORION 
I CP 

LCPTYP - 
.PSt-CT ICPU* 



SbTCPU: 



000001 0000000 

000005 

00000b OOOOOOG 



10*: 
,fcND 



MUV 

MOV 

Mf PT 

CMP 

HEU 

MOV 

MOV 

RTS 



RO, (SP) 

01. CP, I. ICPU 

NO.Ol CPTYP 
101 

OORION.l $CPl 
CSP)»,R0 
PC 



I RELATIVE CPU SPEEDS 



jKDFll PROCESSOR TYPE CODE 



i 

;11 ?5? 

jilS, MULT IPl JEW Of i 

|N0. SET MULTIPLIER Of 



i i i 



1-1 1. b 



.MAIN. MAlRO M1A>0 0SMARH4 14 : 44 PAtit 1 1 

siMHOt TAHU 

li'P - OOOOOl l.CPTYP- 000005 l.JCPU ■ ** + ♦*+ GX 



'jtU 0^0^ 



ORION * OOOOOS 



btTLHU OOOOO^J/o 



00*.' 



, /iRS. 000000 000 

000000 001 

*CPl'$ 0000. V 00*-? 

ERRORS DEHXTKD: 

VIRTUAL Mf-!MOR> Uiil.D : 4S WORDS ( 1 I'ACt'.,) 
DYNAMIC M'.MOR* : ^OOK") WORDS I // PAULS) 
t ; APsl L) T IMt : ;>0;i)0:0t 

SfcTCPU. OB J. St KPU, US' -SP-StTCPU. MAC 



1 i i 



KTITU -HtlMX rORMATTt-R I IBRARY MODUU .' 

•sbttl 'MACRO DH.HNITIONS' 

macro 

URI.RDRX tO. FIELDNAM, IMAGt) - 

beg!n 
local 

RC1H..REG; 
HC*M REw » .RDRX ADDR CO, MC At.L]; 
NCSM REG <«f ieldexpand (r"IFLDNflM)> - IMAGE.! 
(. .RDRX„ADDR ♦ *upval*0) « ,RC*M_.RE.Gj 
cod*. 

Dup Protocol Macros Declarations 

RFC BASi 

HDR SI.?, 0. 0, 16, 0#, 
SND BASE - 

dDR.SI/ ♦ REC ALLOCATE . 0, 0, 16. 0*. 

Macro to clear out the DUP send data text buffer 
before requesting Input form operator. This by 
default puts a null byte at the end of the asc » i 
t nput . 

CL.R..SBUf" • 

Incru I from to SNOB .SIZE - 1 do 
SND Hi* I , I J - /EROS i* ♦ 

Macro to clear out the DUP send data text buffer 
before requesting input form operator. This by 
default puts a null byte at the end of the osc i i 

input . 

Cl.R.RHi* 

incru I from to ES/ RED t do 
msgadr » i /EROS;*, 

Uenerai purpose word reference f'feid select 

WORD Hfcf - 

0, 16, Q*j 



1 1 b 

bfcQ 020 5 



u 



*sbttl SUPERVISOR DEFINED LITERALS' 
1 ! ternl 



SEQ 0*04 



J f 

• BIT OTFINITIONS 


bins 


= lie' 100000 


B1U4 


--■ «o' 40000* 


BIT13 


- #oV0000* 


HIT 12 


- *o' 10000' 


BIT11 


* * O '4000' . 


bITIO 


* tfoVOOO' , 


BIHW 


* *o' 1000' . 


BIT03 


- *o'400' , 


BIT07 


- *o'«.. l 00 , 


BIT 06 


- #o' 100' . 


ill JOS 


- *o'40' , 


B1T04 


- #oV0* . 


HI 105 


- *o 10' , 


BIT0, s 


= *o'4* , 


BIT01 


- *oV . 


B1T00 
i 


- *o' r , 


BIT9 * 


BITO^, 


BIT 8 - 


BITOfl, 


bit; - 


HI TO 7, 


BIT6 - 


bi rot>. 


BITS 


B1T0S, 


BIT4 * 


BIT04, 


BIT 3 - 


Hnos, 


bit;* - 


BITIV. 


HI T 1 » 


BI101. 


HI TO * 


HI TOO. 



EVENT FEAE, DM INI T IONS 
^V:(H/ RESERVED FOR 

!» START • V. 

EF Rf START ' 51 , 

EF CONTINUf ~ 30, 

t> NEW -* ;»9, 

EF PUR - 4 J H t 



PR LOW 111 LfcVH. DEFINITIONS 



SUPERVISOR TO PROGRAM COMMUNICATION 



START COMMAND WAS ISSUED 
RESTART COMMANO WAS ISSUED 
CONTINUf COMMAND WAS ISSUED 
A NfcW PASS HAS BEEN STARTED 
A POWER-FAIL/PUWER-UP OCCURRED 



PRIO/ 
PR I Ot> 
PR I OS 
PR 104 
PRIO* 
PRIO*' 
PR I 01 
PR TOO 



*o' 
*o' 



54 0' 
300' 
?A0' 

i^OO' 
140' 
100' 

40' . 



3 *o'0' 



K 1 b 



SEQ O^Ob 



OPERA UW 


Y\ Ati HtlS 


t VL = 


*o'4' , 


I OT = 


*o' 10' . 


ADR - 


*o'00' . 


101 1 -= 


*o'40* , 


IsR ■* 


*o' 100- , 


1 JAM * 


*o'?00* , 


HOY - 


*<v400' , 


PNT * 


*o* 1000' , 


PR I - 


tfoVOOO 1 , 


IM. - 


*o'4000' , 


IHL « 


*0' 10000' . 


U.R 


*o 00000' , 


I. Of. - 


*o' 40000" , 


HUh * 


*0' 100000* , 



I I L. 



Lib 



rfsbttl • FORMATTER DE-TINKD LITERALS 1 



SLQ 0206 



! Message 


selec 


msgo - 


o. 


MSG1 ■ 


l. 


MSG2 - 




MSG3 = 


5. 


NSG4 ■- 


4, 


MSG5 = 


s. 


MSG6 - 


t» . 


MSG7 - 


<\ 


MSG8 = 


ft. 


MSG9 •" 


9, 


MSG10 


- 10, 


MSG11 


- 11. 


MSG12 


;: 1?. 


MSG15 


5 13. 


MSG14 


« 14. 


MSG15 


- 15. 


MSG16 


- 16. 


MSG1/ 


- 17. 


MSG18 


- 18. 


MSG19 


- 19, 


MSG20 


- 20, 


MSG21 


:i 21. 


MSG22 


= 2?. 


MSG23 


-- 23, 


MSG24 


- 24. 


MSG25 


= 25. 


MSG26 


- 26. 


MSG2 7 


:: 27, 


MSG28 


: 28, 


MSG29 


■■ 29. 


MSG30 


- 30, 



Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 
Select 

Select 



message 
message 1 
message 2 
message 3 
message 4 
message 5 
message 6 
message 7 
message 8 
message 9 
message 10 
message 11 
message 12 
message 13 
message 14 
message 15 
message 16 
message 1 7 
message 18 
message 19 
message 20 
message 21 
message 22 
message 23 
message 24 
message 25 
message 26 
message 2 7 
message 28 
message 29 
message 30 



M i i-. 



Mlb 



I Niiicel Ian i ous 


f-AILURt 


- ; 0, 


success ■' l, 


Bl.KO - 


0, 


BL.Kl * 


t. 


BI.K2 - 


« 1 


BL.K3 * 


3, 


WRDO - 


0, 


URD1 * 


1. 


WRD2 = 


r. > 


WRD3 * 


3, 


URD4 ■-•■ 


4 , 


WRU5 =•■ 


r >. 


WRD6 ••< 


'» . 


TSRD ■■■ 


0. 


ISWRT • 


1. 


STEP! - 


; o, 


STtP4 • 


' 3. 


TRUE -• 


1. 


f 'Al.Sh 


- 0. 


SET ELG - 1, 


CLR KLG * 0, 


one - : 


L. 


ZERO - 


0, 



SEU 0207 



ONES - *o' 177777' , 

ZEROS = 0, 

LSLIMIT - 16. 

DM. SIZE * 8192, 

rCT_SIZE - 4096, 
i 

J Command opcode bits 6 and 7 indicate 
! (command, end or attention message), 
! define these field values. 



F ai lure 


return code 


Success 


return code 


Selects 


block of struct 


Selects 


block 1 of struct 


Selects 


block 2 of struct 


Selects 


block 3 of struct 


Selects 


word of block 


Selects 


word 1 of block 


Selects 


word 2 of block 


Selects 


word 3 of block 


Selects 


word 4 of block 


Selects 


word 5 of block 


Selects 


word 6 of block 


Select 


the read word (1st) in ISO STRUCTURE 


Select 


the write word (^nd') in I SD_ STRUCTURE 


In! t ial 


Ration sequence step one 


In i t lal 


ization sequence step two 



True Indicator 

False indicator 

Set the indicated flag to one 

Clear the indicated flag to zero 

Ones data type 

2"ero data type 

All ones data type 

All zeros data type 

Allowable number of units to format 

Size of DM buffer size 

Size of fct buffer size 



the type of message 
The following Uterials 



CMt)$MSG 
A! MMSG 
END5MSG 



*b*00' , 

*b'01' , 
*b'10» , 



•Command opcode 
! A 1 1 en t ! on ope o< 



message type 



: Ht cent ion opcode msg type 
!End opcode message type 



ZRQB1 

m\ 

ZRQB1 
ZRUBl 
ZRQB1 
/RQB1 

ZRQB1 
ZRUB1 
ZRQB1 
ZR0B1 
ZRQB1 
/RGB1 



ZRQB1 
/RQB1 
ZRQB1 
ZRQ61 
ZRUB1 
^RQBl 
ZRUB1 
ZRQBl 
/RQB1 
ZRQBl 
ZRQBl 
ZRQBl 
ZRQBl 



/RQBl 
/RQBl 
/RQBl 
/ROB1 
/RUB I 
/RQBl 
/ROB I 
/RQB1 
/ROBi 
/RQBl 
/RUB! 
/ROBI 
/H'JHl 



/ROW! 

/*o«: 

/RQBl 
/rIOBI 

/^ju: 
/rgh: 

/WJBI 

/ROBI 

... W^H 1 
/RiiR'. 

■ "R d*." 1 1 

/Rubd 



RDRX. . . 


.01 


ZRQB2 


RDRX. . . 
RDRX. , . 


zrqb;> 


zrqb2 


RDRX. . . 


,fcl 


ZRQB2 


RDRX, , . 


.f-1 


ZRQB2 


RDRX. , . 


.Gl 


ZRQB2 


RDRX. . . 


.HI 


ZRGB2 


RDRX. . . 


.11 


ZRQbv 


RDRX. . . 


.Jl 


ZRQB. 


RDRX. . . 


.Kl 


ZRQB2 


RDRX. . . 


.1.1 


ZRQ62 


RDRX. . . 


.Ml 


ZRQB2 


RDRX. . . 


Ml 


ZRQB2 


RDRX. . . 


.B«2 


ZRQ02 


RDRX. . . 


X? 


ZRQB? 


RDRX. . . 


.0?. 


ZRQB2 


RDRX. . . 


.E2 


ZRQB2 


RDRX. . . 


,F2 


ZRQB2 






ZRQB2 


RDRX. , . 


,H? 


ZRQB2 


RDRX. . . 


.12 


ZRQ63 


RDRX. . . 


.J2 


ZRQB3 


RDRX. . . 


.Kj> 


ZRQB3 


RDRX 


,1 ? 


ZRQB5 


RDRX 


H2 


ZRQB3 


RDRX.. . 


.HZ 


JRQB3 


RDRX. . . 


.83 


ZRQH3 


RDRX. . . 


.C5 


/RGB 3 


RDRX, , . 


,03 


/ROB 3 


RDRX. . . 


.E3 


ZRQ63 


RDRX. . . 


, f- 3 


ZR0B3 


RDRX . . . 


.w3 


/ROB 5 


RDRX. . 


.m3 


ZRQB3 


RDRX. . , 


.13 


/RUB 3 


RDRX. . . 


. J 3 


'*{.,' ; * 


RDRX. . . 


,k3 


ZRvih.' 


RDRx. . . 


.L * 


/ROB 5 


U[ ., ^ 


M». 


/RQB3 


m^\. , , 


!n3 


ZRQB3 


RDRx. . . 


.B4 


/ROB 3 


RDRx . . . 


. C4 


/ROB 3 


HUH* . . . 


. ')A 


/RGB* 


RDRx. , , 


A A 


/R06* 


RD«x. . . 


A 4 


/ROB* 


WP.Ha . 


.t.4 


/«oe 3 


WL'.rU. . . 


. m4 


./ROB "i 


K'.:w* , . . 


. 14 


/RGB* 


m;: m «. . . . 


. J 4 


/RGB 1 


U'Wk 


.■'4 


/ROB* 


R?R ■ . . * 


., 4 


/R ;« * 


M> * . 


kl 1 


./*< j*i * 


HUKX... 


.N4 


ZHOBi 



RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 



RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRx 
RDR* 
RDRX 
RDRX 



RDRX 
RDRx 
RDRx 

RD« y 
RDRX 

ROR* 
RDRX 

RDRx 

RDR a 

RjW » 
RDRX 



B r i 

CS 
D5 
F.5 
F5 
G5 
H5 
15 
J5 
K5 
L5 
M5 
N5 



B6 
C6 
D6 
E6 
F6 

h6 
16 

J6 
K6 
Lb 
Mb 



D.' 

t.T 

F 7 
G? 



N* 



ZRQB4 
ZRQD4 
ZRQB4 
ZRQB4 

ZRQB4 
ZRQB4 
ZRQB4 
ZRQB4 
ZRQ84 
ZRGB4 
ZRQB4 
ZRQB4 



ZRQB4 
ZRQ64 
ZRQB4 
ZRQ64 
ZRQ64 
ZRUB4 
ZRQ84 
ZR064 
ZRQB4 
ZRQB4 
ZRQB4 
/R0B4 
ZR084 



ZRGB4 
/RUB 4 
/R0B4 
/RGB4 
/RQ04 
ZR0H4 
/R0B4 
/R0B4 
/R0B4 
/R0B4 

.'R.:tJ4 



.*" 



z« 



RDRx. . . 


.HH 


/W Jn4 


RDR ■ . 


. C^ 


/R^B4 


ROR « 


!'** 


/RJB4 


Ri.'R • . . 


» 4 


ZR0H4 


l:0« ^ 


► ■* 


/R^f*4 


RiTR ' 


.* 


J ROB 4 


RDR» 


n* 


/R.W4 


RDR » . . . 


'4 


ZR-064 


tJ^Ri. 


u 


/R^B4 


M-'M •■ 


kH 


JBJt'4 


w;>; • . . . 


4 


/ M ^ti -i 


Rl'R ■ . . . 


M M 


/R.*B4 


acax... 


,Ud 


Z«Oi4 



RDRX 
RDRX 
RORX 
RDRX 

RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 



RORX 
RDRx 
RDRX 
RDRx 
RDRX 
RDRX 
RDRx 
RDRx 
RDRX 
RORX 
RORX 

R . ' rj .«. 

RDRX 



RDRx 
ROW* 
RDRx 
RDR«- 
R^R» 
MDPx 
RDRx 
RD«^ 
RDRx 
RDRx 
RDRx 
R3R « 
RDRx 



R2R« 

R^R» 

RJW ■ 
R."R « . 

WJfJ t 

•■."■" * 



B9 
C9 
D9 
F.9 
F 9 
G9 
H9 
19 
J9 
K9 
L9 
M9 
N9 



BIO 
CIO 
DIG 
i 10 
f- 10 
G10 

H10 

no 

J1C 

K10 



MO 



Hi I 

on 

F'll 



MI 



si 



i 



ZRQ04 
ZRQB4 
ZRQB4 
ZRQB4 
ZRQB4 
/RQH4 
ZRQB4 
/RQB4 
ZRQB4 
ZRQB4 
/RQ04 
ZRJB4 
/RQB4 



ZRQB4 
ZRU«4 
ZRQB4 
/RQB4 
ZRQ64 
ZRQB4 
ZR0B4 
/R064 
/PQB4 
ZRQ64 
/R0B4 
/ROB 4 
/R^B4 



/R0B4 
/RJB4 
/ROB 4 
/R0tl4 
/»-J*»4 
ZR0B4 
/ROB 4 
/R0B4 
/R..JB4 
/R0B4 
/R0tl4 
-*R0«4 
/RJH4 



R>=4 



RUBS 



» . 

s 



RORX 

RDRx 
RDRx 
RDRX 
RDRX 
RDRX 
RDRX 
RDRX 
RDRx 
RDRX 
RDR< 
RDRX 
RDRx 



RDRx 
RDRx 
RDRx 

RDR* 

RDRx 
RDRx 
RDHa 
RDRx 
RDRx 
RDRX 
RD r <* 
RDR . 
RDRx 



RJMX 
KjR- 

NORx 

ROW •- 
R."' n t 
R{'iR* 
R0«* 

RLR », 

«;:w » 
RL?R» 



k 1h v 



B13 
C13 

D13 
F15 
F13 
G13 
HI 3 
II*. 
J13 

!<17 

113 

M13 
N13 



B14 
C14 
014 
I 14 
f- 14 
'.14 
mL4 
[14 
014 
-14 
I 14 
114 
N14 



H.t. 



Erro^ ccx'"? Iiterials 



PAS.COOE 
CIc.CODE 
CT0_COOE 
Prt.coot 
RSE.COOE 
PVE„COOE 
RPD.CODE 
PSE COOE 
MLE_COOE 
UEC COOE 
APR COOE 
UIN COOE 
ATN COOE 
CMO.CODE 
SEX COOE 
IVC„C00E 
UMT.CODE 

oer COOE 
OSE_CQDE 
UHN_C00E 
FPE CODE 



•o'OO 
•o'Ol 
*o' 11 

*o'21 
•V 51 
*o'41 
«o ,r »l 

#0*61 
#0* 71 
#0' 101 
*0'201 
*0* 301 
*0'401 
*0'501 



*0* 
*0' 
*0' 
#0* 

#0' 



601' 
701* 
1001 
2001 
3001 
#0*4001 
*0'5001 



SEQ 0206 



Pass code 

Communication arts init «rror 

Controller time out trror 

Port fatal trror 

rtaponte etatue trror 

Hoet/Controlier out of ttqutr.ce 

Remote program died trror code 

Port/hoat eynchron !ou» error 

Message length trror code 

Unknown tnd code trror 

Adaptor purge reguest trror 

Unknown interrupt ^rror code 

Attention meg received 

Command msg received 

Seriout exception error rtceived 

Invalid command error received 

Unknown message type 

Out standi no buffer full error 

0uttatd_buf fer out of sync error 

Unknown message number 

file read error code from load media 



Dup Protocol iiterials 

Note: 

The values assigned to the Iiterials 
REC_SIZ, SN0..SIZ are represented in 
powers of 2 notation per DUP spec. 

By redefining these two Iiterials the 
common teat ions area allocation and init 
sequence >s automatically h end led and 
no other parameter modification is t*+&*6, 

further more the send and receive ring*; 
can be of different lengths. However the 
maximum value allowed »S 7 (£**7 » 128 slots) 
P«r DUP spec* 



W-C.M/ * 
SND.bl/ * 



2. 



•Define number of receive *»lottf 

J Define number of send a lot a 



C! 



SEQ Oc?0^ 



This one is tr!cl*>: I Hdr si;) 

The common I cat Ion area Is def'ned to be a 
cont Igloos Blockvector (.two wordy per blocw ) 
data segment of size. Rec . allocate ♦ Snd allocate » 
Hdr.si.*. The two words per bloc^ coming from the 
two words needed to represent the ring descriptors. 



Hdr.si/ Is then really * 2 or 4 words of storage 
to represent t:he interrupt anH purge Indicators, 



HOR si: 



Rfcf. 

SND 



ALLOC AT* 
AU OCATf- 



1»REC.SI/, 
ItSND SI/. 



{Define com area header si/e 4 words 



! Define receive rlno allocation 
J Define send ring allocation 



Ring size equals the total number of ring descriptors 
^ number of ? word blocks) allocated within the 
commun I teat ions area, 

RING STZt. » RF.C_Al. LOCATE ► SND ALLOCATE ♦ HDR.S1Z, 

The RO.SU by definition, DUP spec, must be 
a minimum of 60 bytes long ( 50 words) 64 bytes 
overall. The additional 2 words for the UQ 
port information is accounted for in a/kelc! 
when the storage is allocated, 



RB sm 



30, 



* Number of "words'* in response buffer 



The biggest command I'll ever 
be (I hope) will be 40 bytes, 
and again the UQ port <? words 
for In a.-kel2. 

SB SU't * c?0, 



send will 
4? overal 1 , 

is allowed 



! Number of "words" in send buffer 



SNOB 


.si/t: * 


i'\ 


SNOB 


COt »NT 


• I*. 


Rt Ct5 


.SI/f . 


1^0. 


PORT 


PuNfr {) 


i 


HOST 


.OWNtD 


* 0, 



•Send DUP cmd teKt buffer .; i .*e 
♦Byte count to send to MDRx formatter 
! Receive DViP cmd text buffer t>«*e 
.'Descriptor owned by port 
I Descriptor owned by host 



1)1 



SfcQ 0?10 



Dela\ I I terai values 

An argument of one results In a IOOus 
delav . 

A roman numeral notation is used to 
denote values of delay arguments. 
The notation ic ?vs follows: 

i m. v <.!>>. x ao), i. C50), c aoo), 

D t500), M { IOOC» 

An> symbol following another of equal or greater 
value add*; to its value, as II > »\ XI r 11, 

Anv svmbol proceeding one of greater value subtracts 
from the second and the remainder added to the first 
as xtv * 14, l IX - 59. 



ON* SrT « 10000, 

C US 1, 

CC LtS « r\ 

CCC US ■ 5. 

XC .l'i - 4, 

US ' 5, 

RDRX register offsets 

RCIP * 0, 
RCSA • 1, 

Command packet opcodes 
(See note following) 



OP ABO 
OP ACC 
OP A vl. 
OP CCD 
OP CMP 
OP DAP 
OP F.RS 
OP ► L U 
OP bCS 
OP GUS 
OP ONI 
OP RO 
OP RPL 

op :;cc 
OP sue 

OP UP 
OP MR'J 
OP.MWR 



#o r 
» *o- ^o 

« *o 10 

- *o'40 

* *o'.V 

3 #o ■ *.'* 

• *o'0c> 

- *o'0i 

• *o' 11 

* *o*; j 4 

*0' 04 

■ #o i;» . 

*0'4 t ' , 
* *o SO , 



fOne second delay argument 
MOO micro sec delay argument 
!i?00 micro sec delay argument 
! 300 micro sec delay argument 
1400 micro sec delay argument 
1500 micro sec delay argument 



Abort command 

Acceis command 

Available command 

Compare controller data command 

Compare host data command 

Determine access path 

Era»e command 

f lush command 

Get command status command 

Get unit status command 

Online command 

Read command 

Replace command 

Set controller characteristics command 

Set un ' t character I st I cg command 

Wr I te command 

Maintenance f^ad command 

Maintenance write command 



11 



I 
I 
} 

tV 

OP 



SEQ 0211 



\ nd message and serious except ton encodes 
{ see note following) 



rNP 



» 

op 
or 

OP 

OP 

• 

I 

OP 
OP 
OP 

UP 
OP 

OP 



AVA 
l)i if 1 
ACP 
Rl C 

The 
liDS 

e sp 

Ei P 
SK) 
RED 
ART 



•oVOO' 

»o' •' . 



MSCP Attention message endcodes 



»o 
*o 
»o 
*o 



TOO' 
105' 



Ifr.nd packet flacj 

JSerlous exception end pocket 



? Available attention message 

! Duplicate unit number attention message 

{Access path attention message 

! Reset command limit attention message 



following are the dup op code commands 
1 . 



*o 

*o 
*o 
*o 



= *o'6' 



!Get dust status 
•Execute supplied program 
! Execute local program 
! Send data 
♦Receive data 
! Abort program 



NOTE; 



End message opcodes (also called endcodes) are formed by adding the end 
message flag to the command opcode. Tor example, a READ commands end 
message contains the value OP, RED ♦ OP. END in its opcode field. The Invalid 
command end message contains just the end message flag (i.e., OP. END) in 
its opcode field. The serious exception opcode shown above (i.e. OP. SEX • 
OP. END) in its opcode field. 

Commands opcode bits 6 mr\di 1 indicate the typ* of message (command, end or 
attention message. Command opcodes bits 5 through *> indicate the command 
catagory (immediate, sequential or no sequent I al) and whether or not the 
command includes a buffer descriptor, 

See MSCP document appendix "A-l NOTE;*' for more information on this topic, 



OOP endcode message types 



tOP 

[ OP 

hOP 
* OP 

\ OP 



uOS 
f.'iP 
H.P 

Mt t) 



OP 
OP 

OP 
OP 
OP 



liDS 
ESP 
£LP 

RED 

>ED 



EOP^ABT * UP.AUT 



OP END, 
OP END, 
OP END, 
fi FM\ 
OP I NU , 
UP.ENU, 



!uet dust status 

!fr secute supplied program 

!l vecute local program 

} Receive data 

! end data 

! Abort program 



I i. 



I NSCP er 


dCOd<. k messai? types 


\ OP ABO 


* OP ABO 


* OP END. 


F.OP ACC 


• OP ACC 


♦ OP FNO, 


10P AVI 


- OP AVI. 


. OP FND, 


F.OP.CCD 


-- OP CCD 


♦ OP FNO. 


FOP CMP 


' OP CMP 


♦ OP FND, 


rOP FRS 


* OP FRS 


♦ OP FND, 


FOP .FLU 


* OP FLO 


♦ OP FND. 


tOP GCS 


- OP GCS 


♦ OP FND. 


£OP GUS 


* OP GUS 


♦ OP FND. 


F.OP ONI 


* OP ONL 


» OP FND. 


FOP RD - 


OP RD ♦ 


OP FND. 


FOP RPI. 


- OP RPI. 


♦ OP FND. 


tOP sec 


OP sec * 


OP FND. 


top, sue 


* OP. sue 


. OP_F.N0, 


tOP WR ' 


OP WH ♦ 


0P_FND, 


f.OP MRD 


- OP MRD 


♦ OP FND. 


FOP MWR 


" OP MWR 


♦ OP FND, 


EOP SFX » 


op sex 


OP. FND, 



SEG 021^ 



! Abort command 

! Access command 

I Available command 

! Compare controller data command 

! Compare host data command 

•Erase command 

! Flush command 

JGet command status command 

! Get unit status command 

! On line command 

!Read command 

! Replace command 

!Set controller characteristics command 

!Set unit characteristics command 

! Uri te command 

.'Maintenance read command 

IMaintenance write command 

! Serious exception 



Dup Command messacje envelope 
byte si."es beginning at te^t^O 
of the command envelope. 



sz 


GDS 


-' U\ 


S_! 


FSP 


* 40. 


S/ 


FLP 


■' 46. 


S/ 


RfcD 


* ?&• 




Sfcl) 


: <*H. 


s/ 


ABT 


• 12. 



♦Get dust status sl/e 
JFxecute supplied program s 
!t \ecute local program si^e 
.'Receive data si/e 
I Send data si .*e 
♦Abort program s'/e 



zc 



m 'jCP Command message envelope 
Oyte «; i ;e«i beginning at te*.t*0 
f the command envelope. 



S/ONi 



36, 



!Set Controller character « st • cs 
!On line command 



I.'l 



SE.Q 0213 



Ihe t-ol lowing are the evpected number of bytes 
'n a co^Tiflnds end packet transmitted by the 
communications mechanism to the host. 



! DDP command end message sires 



ts/ f.f,P 

I S. f MP 

t.s; sen 

t S/ ART 

I 



• OKI MAI. 
mDLCIMAl 

• DECIMAL 
•DtCIMAi 
•DtClMAl 



48 
1." . 



! M*",CP cn;„mand end message sizes 
i 

* s* ^cc * •oexiMAi. v«- , 

' -/ ONI •DtClHAl 44' , 

i 

! OiP STANUAlONK FLAG MODl^IcR 



!L»et du9t status end packet size 

!t xecute supplied prog end packet size 

! Execute local prog end packet size 

J Receive data end packet size 

! Send data end packet size 

•Abort program end packet size 



♦Set controller character i st ics 
JUn line command 






l. 



v !)T r r.ip Vectc 



U.TvbC - *U* 14' ; 



-II. 



*sbt 1 1 ► Tt 1.0 DtCl ARAT IONS' 

Oef i n : t !ons : 

ISO ^ ItLD In! t ;.il ijat Ion Sequence Data Meld 

ISHp Initialisation Sequence Rend ■ 



SEQ 0214 



1SWR 



Initialisation Sequence Write s 1 



SIR. Step Of* Rend 



Siu - Step One Write 



etc. 



1 1 



i^u.» u in 

■;et 



Hiscel lanious status register field 
reference dec larat ions. 

RC.ALl - 10. 16. 0], JRDRX word access 

t-RR BIT •- [15, l, 01, itrror bit 

ISR.rtl.L ' [0. It., 0), J Initialize sequence read word 

ISW All. a 10. 16. 03. ! Initialize sequence write word 

STP.riFtO - 111. 4, 0), 'All step bit fields 

SA.GO * JO. t, 0), 'Status register GO bit 

t'RR COIH". ~ 10. 11, 01, !SA register fatal error code 

i 

,' Stei> one read S'\ register field reference 

SIR STeP - (11. 1. 0], 'Step one step bit 

S1R.NV - [10, 1, 01, 'No host inter vec settable odro 

S1R..QH - [9, 1, 01, !??-bit addressing support 

S1R..DI - I ft, 1, 0), Enhanced diag implementation 

S1R.RSVD - 10, 8, 01, ! Reserved field 

• Step one write SA register field reference 

i 

S1W WR - t 14. I . 01 , !Diag wrap around 

S1W CRING - 111, 3, 0), 'Number of C~ring slots ' purs of :?' 

S1U..RRING - f«, *. 01, .'Number of R-ring slots 'pwrt of c" 

S1W.. It - [/, 1, 0), !Init Sequence interrupt request 

S1W..VADR * 10, 7, 01, {Interrupt vector addr<:»f 



i 

! S 

i 



tep two read SA register field reference 



SJ?Rj:>TEP ' [ 1<_\ 1. 01. 'Step two step bit 

S.>R PI>P - [8. 3, 01, 'Port type number 

•i.'R.BII/ - I 7. 1. 01. .'fchoed IE bit from step one wrfte 

S,?R >a » [6, 1. 01. 'echoed bit 14 from step one wr'te 

St.'R.XRING - [5, 3, 01, .'Echoed bits 3-?. from step one write 

S1 J R RRING * CO. 3. 03. .'Echoed bits 0-P from step one write 
i 

! Step two write SA register field reference 

\u)U i-HHASt J fO, It, 0], 'Ring base lower addr*** 

■VU.P1 - [0, l, 01, ! Adopter purge interrupt request 

! Step three rend SA register field reference 

S'R »TEP * [13, 1, 01, 'Step three step bU 

S5R RSVD ■ f3, 3. 01. 'Reserved 

S3R.. It. - 17. 1, 01. 'Echoed it bit from step one up 1 1« 

MR VADR * [0, 7, 01, ! Echoed VADR from step one write 

• jtep three write SA register Held reference 
i 

■■■*- pp ;U'. 1. 0], ! Purge L PqH te*.t request 

SSW.hABM'jE » 10, lb, 01, 'Ring baue high aodrcse 



SEQ 0^1^ 



J] 

StQ 0^16 
Step tour read srt register field reference 

4R SUP 114, i, 01, ! l Jtep four step bit 

S4R rtSVO " (H, 5. 0], ! Reserved 

S4R MOD - [4, 4, OJ, {Controller u-~UDt version 

S4R VfrH 10, 4, 0), .'Controller u-CODfc version 






tep four write f»A register field reference 



S4W.RsU) ■• [H, 8, 01, J Reserved 

S4u.fU"ft:"»T ■- [ ( \ t. , 0], JMo\ number longwords per NPR xfer 

-'^u i* ■ [1. 1. o), Slant fall request 

:-4w wiO = 10. I. 0} stio bit 

tes* 



K I 



StQ 0217 



* ield declaration to define the interrupt 
Indicator and purc^e words of the communications 



HMMUD 

set 

i 



! Header word Ri ngbase *l 

RFSFRVED =■■ [0, 0, lb, 0], 
♦ 

! Header Word Ri ngbase 3 

i 

R^vD - [1. 0, 8. 0), 

/W Ch ■ [1,8,8,0], 

i 

! Header Word R ! ngbase ?. 



CMC r N T - U\ 0, 16, 0], 

Header Word Ri ngbase -1 

H-'P. INT = I?, 0, 16, 0] 
tes, 



LI 



SEQ 0218 



* ield declaration to define the fields within 
the send and receive ring descriptors. 



DSC jxno 

set 



Low order envelope address 

LO.f.NSAD - [V. 0. 16. 01. 

i 

! High order 18 bit on i bus or Qbus address 

hi>:n$ad [i. o, ?, oi. 
i 

! Q Bus extent ion address 



QC_EXT ( 1. ^. 4, O'i. 

Reserver field 

DJRSVD = [1, 6. 8, 0], 
i 

! Rag bit 

* 

FLAG BIT -- [1, 14. 1. OK 

! Ownersh !p bit 

0MN..S1T = [1, lb. 1. 0] 
tes. 



Nl 



SEQ 0220 



DUfVMSCP command and response envelope header 
field declaration 



CMO lREF 
CMO HRET 
UNIT NUM 
UN. L USED 
UN HUSED 
TYP$MSG 
OPCODE - 
ENDCOOE 
E$FLAG - 



STATUS 



MODIFIER 



[2. 
[5. 
[4, 

(5, 

- re. 6, 
- [6. o. 

* [6, 0, 
* [6. 8, 
[6. o. 8, 
s [7. 0, 



0. 
0. 
0, 

o. 

0. 



16, 
16. 
16. 
16. 
16. 
2. 0] 



0] 
0] 
0] 
0] 
0] 



8. 

8 
8. 


16 



[7. 0. 



OK 

. 0], 
0], 

]. 

. 0], 
16. 0] 



Command Ref number low word 

Command Ref number high word 

Unit selection field 

Unused low word 

Unused high word 

End code message type 

Opcode 

Opcode 

End message flag field 

Reserved 

Status 

Modi f !er 



DUP command and response envelope parameter 
field declarations 



ABORT commano and response envelope parameter 
f'eld declnrtlon 



No parameters declared 



response FIELD 
No parameters declared 



Gt' T OUST STATUS command and response envelope 
parameter field declaration 

COrlMANO f I EL .0 
No parameters declared 

response EXE I 



PL? SXT 


- [8, 0. 16, 0] 


Phi EXT 


* [9, 0, 6. 01. 


F SLAGS 


i c >. 8. 8, 0). 


F'l.G BO - 


[9. 8. 1. 0). 


R G Bl = 


[9. 9. L. 01. 


fl.Ci.B2 - 


[9. io. - . 0], 


fLG B5 - 


[9. U. 1. 0], 


Pl.O IND 


- [10, 0. 16, 


PHI TNO 


- [11. 0. 16, ' 


TIM^UUT 


* U2. 0, 16, v 



•Program E >. 


tens 


On 


low word 


.'Program E\ 


tens 


on 


h igh 


word 


.'* lags 












•flag field 


b 


t 


C 






!* lag field 


6 


t 


1 






•F lag field 


b 


t 








.'Elag field 


b 


t 


* 






J Progress i nd 


cator 


low 


wco 


.•Progress incHi 


cator 


high 


word 


J Time out 













,1 



StQ 0^1 



KXKUTt SUPPl 1(0 PROGRAM com(n«rt(j and response 
envelope parameter field declortion 



COMMAND KIFL.D 



BLO CNT • 


t». 0, 


16. 01. 


RHI CNT ■ 


[9, o 


lb. 0}» 


BPA 10 * 


[ 10. 0, 


16. 01. 


BPA HI * 


111. 


?. 0), 


QBUS EXT 


" tU -\ 


?. 4. 01 


RSV - m 


• 6 . t 


0], 


L«BA CHAN 


- [11. 


8. 6. 03 


RSVO » ( 


1/. o. 


16. 0), 


RSV1 - [ 


is. o. 


16, 0], 


R°>W % ■ [ 


14, 0. 


16, 0], 


RsV* « I 


15. 0. 


16, 01, 



low word 
high word 



adrs bi ts 

adrs bits 



< 16 17> 



Hyte count 

Byte count 

Buffer physical 

Buffer physical 

Q .bus extent ion 

Reserved field 

(Jn! bus adaptor channel number 

These next four words ore not 

in the UQ port implementation, 



These next field definitions are the same 
as above except they are for the overlay 
buffer descriptors. To moke life easy for 
me I'll use the same names and just prefix 
the names with a $ for uniqueness, 



3 01. 



01. 
01, 



SBPA.LO • [16, 0, 16, 

tBPA HI - [17, 0, 2, 

$QBUS EXT - [ 17, 2. 4. 
SRSV - 1W, 6. ? t 0], 

$L«A..CHAN - [17, 8. fl, 01, 

T-^SVO » ( IB, 0, 16. 01, 

Ifi'JVl ' [ 19. 0. 16, 01, 

SRSv^ - [ ^0. 0. 16. 01. 

JRSV? • [ cH, 0, 16, 01, 

response FlfclD 

No parameters declared 



Buffer physical odrs bits '0 IS* 

Buffer physical adrs bits <16 17> 

Q„bus extent ion 

Reserved field 

Unibus adaptor channel number 

These next four words are not 

In the UQ port implementation. 



I XFCUTf LOCAL PROGRAM coffvnnnd and response 
parameter field declnrtion 



COMMAND MELD 

PN ■ [8, 0, 16, 0), 
PN.l ■ [9. 0. 16. 01. 
PN.V - [10, 0, 16, 01, 

response *'IEl 



cr*.: r\ ■» [H, 0, If., 0). 
IM( f .K'I • l*». 0. M, 01, 



{Program name word ^ 
,'Progrnm nnme word I 
•Program name word *? 



! Vers ! on 
M i me out 

i 1 " Ua*A 



C,-' 



SEG QZ'd? 



Sf NO D/UA RECEIVE OAT A command and response 
parameter field declartion 

COMMAND FIELD 
byte count, buffer descriptor ore the same 
an Execute Supplied Program parameters 

response FIELD 
byte count is the same 
as Evecute Supplied Program parameters 



MSCP command ar\d response envelope parameter 
f*!eld declarations 



SET CONTROLLER CHARACTf RISTICS command and response 
parameter f ield declart ton 



COMMAND FIELD 



MSCP VER * 


I 


3. 0. 16, 01. 


CTL 


FLAGS 


• [ 


<*. 


0. 


16, 0], 


HCS1 


r TOV ■ 


[ 


10, 


o, 


lb, 0], 


RS*VD * I 


11. 


0. 


lb. 


0). 


TJD 


» [ 


u\ 


0, 


16, 


0), 


ISO 


1 - f 


15, 


0, 


16. 


0], 


T*D 


.2 * I 


14, 


0. 


lb. 


0], 


T*D 


.1 * i 


15. 


0. 


16. 


0], 


CDP 


LO - I 


lb 


. 


16 


. 01. 


COP 


.HI * ( 


17 


. o 


i 16 


. 0], 




RESPONSE 


FIELD 


JMfiCP VER 


' [ 


6. 


0. 


16, 01. 


!CT'. 


. FLAGS - 


I 9 


, 0. 


16. 01, 


CTi 


TOV * 


( 10, 0, 16. 0], 


CSv/H^N - ( 


11 


. 


8. 


0}. 


ChvRSN a ( 


11 


. B 


. «. 


0), 


CID 


.o - r 


1«?. 


0, 


16. 


0), 


CIO 


.i - i 


13. 


0. 


16. 


0), 


CID 


? *. r 


14, 


0. 


lb. 


01. 


CID, 


.3 - I 


I5i 


0. 


16, 


01. 



1MSCP version 
•Controller flags 
.•Host time out value 
.'Reserved 
! T ime and Date 
! T ime and Date 
■ T i me and Date 
J T Ime and Date 
dep parameter lo 



•Cntlr 
•Cntlr 



word 





word 


1 


word 




word 


5 


wo^d 



dep parameter hi wrd 



J Same ay 
JSame as 
iCnUr t 



cmd field 

cmd field 

me out value 

Cntlr S/W, f W, u code rev num 

Cnt 1 r H/U rev num 

Cntlr Identifier wrd 

Cnt l'* Identifier wrd I 

Cntlr Identifier wd % % 

Cntlr identifier wrd 5 



I . 



ONI INI COMMAND command and response 
parameter field declaration 



COMMAND f- IELD 



[),'.' 



SfcQ 0223 



RSV*D* ( 8, 
UNT FLAGS » 

RSVDJO - t 

RSVD$i - [ 

RSVD*2 = I 

RSVD$? * { 

RSVD$4 = ( 

RSVDtb - [ 

DDP 1.0 - [ 
DDP HI - f 

shadow c^nit 
cop> speed 



0. 16. OK 
( 9. O t 16, 







10, 

11. 
i?. 

13, 

14. 

1*>. 

lb. 
17. 



[ 



0. 
0. 

0. 

o. 

0. 

o, 

0. 
0. 



18. 
19. 



16. 

16. 

16, 

16. 

16. 

16. 

16. 

16. 





0], 
01. 
01, 
01. 

01, 
OK 

OK 

OK 

16. 
16. 



i 
i 

MUNT COOF. 
UNT FLAGS 
RSVDJO » 
RSVDU 
UID - 
UID 1 « 
UID 2 * 
UID .3 - 
MTID LO 
MTIO HI 

SHADOW 



RESPONSE FIELD 



11 
12. 
13. 
14. 
15. 

- f 

- [ 
UNIT 



[ 8. 
f 9. 

10. 0. 
0. 
0. 

o. 

0. 

0. 



16. 
17. 
• C 



0] 
0] 



SHA STATE « [ 
USZ..LO * f 20, 
US.'. HI * [ 21, 
VSN.LO - [ 22. 
VSN.HI * [ 23, 
teo, 



0. 16. 0] 
0, 16. 0] 
16, 01, 
16. OK 
16, OK 
16. 0), 
16. 0], 
16, 0], 
0, 16. OK 
0. 16. OK 
18. 0, 16. 







19, 

o, 

o, 

0. 

o, 



0. 16 
16, 
16, 
16, 
16. 



01 



1 
01 
0) 



Reserved 
Unit flag field 
Reserved field 
Reserved field 
Reserved field 
Reserved field 
Reserved field 
Reserved t ield 
Device dependent 
Device dependent 
Shadow un ! t 
Copy speed 



parameter 
parameter 



Mult i -uni t code 
Same as cmd field 
Same as cmd field 
Same &s cmd f ield 
Unit ident word 
l*nit ident word 1 
Unit ident word 2 
Unit ident word 3 
Media type ident word 
lied I a type ident word 
Same as cmd 
Shadow state 
Unit size lo word 
Unit si .re hi word 
Volume serial num 
Volume serial num 



lo 

hi 



word 
word 



SEQ Q224 



J Send Receive command buffer field definition 

Rf.CB ► Itt.D » 
set 

msc; NUM * [0, 0, U\ 0], 
MSCv.nP - (0. 1?, 4, 0), 
MSG. TXT - [I, 0, 16. 0] 
tes, 



Outstanding command buffer field declarations 



OUT$f U.LO 
set 
CMD 
RFC 
CMD 
IU\. 
tesj 



WPD 

KL.G 
RfcT 

ADR 



(0. 
[0, 
[0, 
11. 



0. 



lb, o] 

1. 0) 

8. 01. 

16, 0) 



J Command word ref "word of slot 
•Command received Indicator flOQ 
! Command reference field 
Jtnveiope adrs field 



<sbttl I INKAGt DtLCARAUONS' 

1 ink age 

Call . Ink $typ 

This spcifles that the PDP-11 JSR and RTS Instructions 
are used by the compiled code» and that the parameters 
with standard parameters locations are passed using 
register 5 (R5) as the argument pointer with the register 
usage as follows; 



SEQ 0225 



Register 


1 4 

S 

t» 



Usage 

Value return register, non -preserved 

Preserved 

Argument pointer 

Stack pointer 

Program counter 



C 



All. .LNKSTYP * call (standard), 



Int. Ink $typ 

Specifies thot a routine will be called only by a PDP-11 
hardware or software Interrupt and will be returned via 
the RTI Instruction. Register usage Is as follows: 



Register 


Default usage 


5 

6 
? 


Preserved 

S t ac k po ! n t e r 

Program pointer 



INT.LNKJTtP = Interrupt (standard^ 



{>?. 



1 t ternl 



» ♦ 



! CODES KQR SUPERVISOR SERVICE CALLS 



csreserv 
c$e:ist 

CSfiSL'S 

CSL SUB 

CSRSEG 

CtFSEG 

C$CLP1 

C$RDBU 

C$ ESCAPE 

C$rNIT 

CSCLEAN 

C$TPRI 

CSPNTB 

C$PNTX 

CSPNTS 

CSPNTF 

C$INLP 

CSRFLA 

HBRK 

CSMSCi 

C*DK°T 

CSRPI 

CSGETB 

C*GETW 

C*GPLO 

CSMEM 

CSFXIT 

C PRESET 

C$OPEN 

CSCl.OS 

CSCVE.C 

CSSVEC 

CMiPHI 

CSSPRI 

C4GPHRD 

C$GMAN 

CiDCLN 

CJCF.rci 

CSStKi 
CSREFt; 
C*MAN1 
CSDOOU 

CiAi.i 

csou 

CURSE 

CJERDF 
CSERHRO 
CSF'RSOf r 

CURRQP 
CtA'.'TO 
C$Cl C>< 
C5UIO 



- o, 

- 54 

E ? 

4- | 

* 4. 

* 5b 

- Ft? 

* % 

= 10 

= 11 

« lr? 

^ 15 

, 14 

- 15 

* 16 

- 17 

- 18 
= 19 

- 20 

- 21 
22 
25 

24 
25 

- Si 

- 27 

= 26 

= ?9 

'■ 50 

* 51 
= 52 

* 55 

* 54 

* 55 

- 56 

- 57 
« 5H 
« 59 

* 40 

* 41 

- 42 

- 4 5 
~ 44 

- 45 
« 46 
•• 4 7 

•-- 49 

-= 50 

* 255 i 



SEQ 0226 



RESERVED FOR THE SUPERVISOR. 
BLISS ENDTST- SIGNIFY ENO OF 
BLISS BGNSU8- -SIGNIFY 
BLISS ENDSU6- -SIGNIFY 
BGNSEG- -SIGNIFY START 
BLISS ENDSEG- -SIGNIFY 
BLISS CKLOOP- -CHECK IF 



TEST. 
START OF SUBTEST 
END OF SUBTEST. 
OF SEGMENT. 
END OF SEGMENT. 
LOOP ON ERROR, 



WITHOUT A LABEL 



READBUS--READ TYPE OF BUS 

BLISS ESCAPE -ESCAPE INNER BLOCK 

ENDINIT- -SIGNIFY END OF INITIALIZE CODE. 

ENDCLN- -SIGNIFY END OF CLEAN-UP CODE. 

TRAPPRI--SET TRAP PRIORITY 

PRINTB- -PRINT BASIC EXPANSION OF ERROR INFO. 

PRINTX--PRINT NON-BASIC EXPANSION OF ERROR INFO. 

PRINTS--PRINT A STATISTICAL REPORT. 

PRINTF- -PRINT A FORCED MESSAGE. 

INLOOP--TEST IF PROGRAM IS IN AN ERROR LOOP. 

RFLAGS -RETRIEVE FLAG SETTINGS OF THE DRS 

BREAK -BREAK TO THE SU°ERVISOR. 

ENOMSG--ENO A BLOCK OF ERROR REPORTING CODE. 

DORPT--CALL STATISTICAL REPORT CODE. 

ENDRPT- -SIGNIFY END OF STATISTICAL REPORT. 

GETBYTE--GET A BYTE FROM AN XXDP* DATA FILE 

GETWORD--GET A WORD FROM AN XXDP* DATA FILE 

GPLOAD--GET PARAMETERS OF THE LOAD DEVICE 

MEMORY --GET POINTER TO FREE MEMORY. 

BLISS EXIT- -UNCONDITIONALLY EXIT TEST, SUBTEST 

BRESET- BUS RESET. 

OPEN AN XXDP* DATA FILE FOR READ 

CLOSE THE OPEN XXDP* DATA Flit. 

CLRVEC- -RESTORE AN INTERRUPT VECTOR. 

SETVEC- -SETUP AN INTERRUPT VECTOR. 

GETPRI--GET PRIORITY LEVEL. 



OR SEGMENT 



IETPRI 



;et 



SPECIFIED 



PRIORITY LEVEl . 
GPHARD -GET H.U. P- TABLE ADR 
GMANI--GET MANUAL INTERVENTION. 
DOCLN--CALL CLEANUP CODE. 
CLREF- -CLEAR EVENT FLAG. 
SETFF -SET EVENT FLAG. 
READEF- READ EVENT FLAG. 

MANUAl -DETERMINE IF MANUAL INTERVENTION USED 
DODO -DROP UNITS 

ENDAU -SIGNIFY END OF ADD UNITS COOE 
fNDDU--SIGNIM END OF DROP UNITS CODE 
EHRSF SYSTEM FATAL ERROR. 

•DEVICE F'ATAL. ERROR, 

- -MEDIA HARD ERROR. 
ERRSOFT MTDIA SOFT ERROR. 
ERROR DIAG. MODIFIAHlE ERROR CALL 
ENOAUTU SIGNI* i I NO 0* A'HQ CODE 
Cl OCX i»> I ADDRESS OF CLOCK TABLE 
UiO CALLS 



E9RDF 

ERRHRD 



-\<: 



1 I ter.nl 

GET PATAMETER COOfcS 

! REQUEST TiPES (.BITS 0. I. ?J 



GSPRMl 

GSPRMA 

G$PRMD 

G$DISP 

GWFR 



0. 

1. 



5. 



seu 022/ 



« 4, 



•l Ot-l.CAL 

■A:mRESS 
JUA1A 
.'DISPLAY 
■TRANSFER 



! DEFAULT I BIT 

G$NO » * P, 
G$US ■= 1 * 8, 



5) 



•NO 
HE! 



! RADIX 
GSRADfi 

gsrado 

GSRADD 
GJRADl. 
G$RADA 



(BITS 4. 

♦ 16, 

1 * 16. 

2 ♦ 16, 

5 * 16, 

6 * 16. 



5, 6) 



•BINARY 

•OCTAL 

•DECIMAl 

•LOGICAL 

1ASCIZ 



• OFFSET CBITS 9 15) 

GJOFSIZE = 254. 

G$ OFF SET » 1 * 25b, 

X$ OFF SET ■■= 1 * 25b, 



! OFFSET MAXIMUM SIZE 
•MULTIPLIER KIR GPRM' 5 
•MULTIPLIER FOR XFER'S 



AND GMANX 



! COUNT 
G$CNTOP 



(BIT /) 
• 1 ♦ 128, 



• EXCEPTION (BIT tf) 
GSF.XCP - 1 * 256, 
GU.OLIM - 1, 
GtHIl.IM • 2. 

! TRANSFER CONDITIONS 
X$At WAlS * * 16, 
XSTRiJE = 1 * 16. 



X$FALSE 



= P 



16; 



.'COUNT OPTION INDICATOR 



.'EXCEPT ION FLAG 

•LOU LIMIT EXCEPTION 

•HIGH LIMIT EXCEPTION 



jXf tH 
JXF IR! 
•XFERF 



macro 

ERROR - 

LiERRUR CC5ERR0R) 
*; 

LSERRUR = trap; 



macro 

fcRRD> (ERRNUM, MSGPTR, ROUT") =• 
begin 

bui It in DECX? 
*if ^length gtr ? 

*then Kerrormacro ( ' TOO MANl ARGUMENTS SPECIFIED' ) 

*f; 

decx (cserdf, errnum, msgptr. rout); 

end 



macro 

ERRHRD (tRRNUM, MSGPTR , ROUT) « 
begin 

built In DECX; 

*i f ^length gtr 5 

*then «errormacPo ('TOO MANY ARGUMENTS SPECIFIED') 
#f I 

DECX (C$ERHRD, ERRNUM, MSGPTR, ROUT); 
end 



macro 

ERRSF (ERRNUM, MSGPTR, ROUT) - 
beg J n 

builtin OECXj 
#if ^length gtr 3 

*then ^errormacro C ' TOO MANY ARGUMENTS SPECIFIED') 
• f ; 

DECX (C5ERSF, ERRNUM, MSGPTR, ROUT)} 
end 



macro 

fHRSOFT (ERRNUM. MSGPTR, ROUT) « 
begin 

bui It in DECX; 

*if ^length gtr 5 

*then #errormacro ('TOO MANY ARGUMENTS SPECIFIED') 

if I 

DECX (C5ERS0FT, ERRNUM, MSGPTR, RUUT) } 

end 



IP. 

SEQ 0228 



macro 

n.QUAi. * 

beg i n 

global 1 « ternl 

FUNCTION LEVEL I/O DEFINITIONS 



Q.IOFN 
Q.IOL.N 

Q.IOEF 

Q.IOSB 
Q.TOAF 
Q.IOPL 
I S . sue 
end 



6. 

10, 

12, 

14, 

1} 



.♦DIRECTIVE. 
•DIRECTIVE 
•DIRECTIVE 
•DIRECTIVE 
.'DIRECTIVE 
IDIRECTIVE 



Jr! 



SEQ 0229 



FUNCTION 
LOG UNIT NO. 
EVENT FLAG 
STATUS BLOCK 
AST ENTRY 
PARAMETER I l*iT 



! REQUEST WAS SUCCESSFUL 



macro 

EQUALS " 
global literal 



BI T OIFINITIONS 



BIT15 
BIT14 
BIT13 

Bin?. 

BTT11 
B1T10 
BIT09 
BIT08 
BITO? 
BIT06 
BIT05 
BIT04 
BIT0.5 
BITO? 
BIT01 
BITOO 

BIT9 

BIT8 
BIT/ 
BIT6 
BIT5 
BIT4 

Brn 

BIT t - 
Bill 
BITO 



*o' 
*o' 
#o* 
*o' 
*o' 
*o' 
*o' 
*o' 
#o' 

*0' 

*o' 
*o' 
*o' 
*o' 
do' 
*o' 



100000' 
40000' . 
20000' , 
10000' , 
4000' . 
2000' , 
1000' , 
400' , 
200' , 
100' , 
40' , 

20 . 
10' . 

4' , 
?' . 
1' . 



BIT09, 
B1I08. 
BTTO/, 
BITOb, 
BIT05, 
BIT04, 
BIT05, 
B1T02. 
BIT01, 
BITOO, 






SEQ 0230 



! EVENT hLAG DLFINI1 IONS 




! KK3P:EF17 RESERVED FOR 


SUPERVISOR TO PROGRAM 


L» .START 


* 32, 




FF RESTART 


= 31. 




EF ..CONTINUE c 50. 




EK NEW 




=■ 29. 




Er PWR 




- 28. 




• PRIOR IT'S 


LEVEL DEFINITIONS 


PRI07 


- *o' 


340' , 




PR 106 


* #o' 


300* . 




PRIO'j 


- *o* 


240' , 




PRI04 


■-= *o 


200 ■ , 




PRI03 


- #o' 


140* , 




PR 102 


=■ *0* 


100' . 




PR101 


= *o 


40' . 




PR 100 


- *o' 


0' , 




•OPERATOR 


FLAG 


BITS 





COMMUNICATION 

•START COMMAND UAS ISSUFD 
•RESTART COMMAND WAS ISSUED 
•CONTINUE COMMAND WAS ISSUED 
!A NEW PASS HAS BEEN STARTED 
!A POWER-FAIL/POWER-UP OCCURRED 



*; 



EVL * «o'4> , 

LOT = *o' 10' . 

ADR = *o*20' . 

IDU - *o'40' , 

ISR = *o' 100' . 

UAM * *o'200' . 

BOE = *o*400* , 

PNT = *o' 1000' . 

PRI » #o'2000' . 

IXE - #o'4000' . 

IBL - #o' 10000' . 

IER - *o' 20000' , 

LOE « #o*40000' , 

HOE - *o* 100000' ; 



mncro 

BRt-AK - 
T$RAP (CSBRK) 



mncro 

BRESfr T 

T$RAP CC$RESET) 



macro 

DEt Ai CMLH.T) - 
begin 

esternal l.$CPU, L$Dn? 

local $$TMP2; 

$$TMP2 = .L*CPU * MU.Tj 

while .$$THP2 neq do 

begin 

begin 

decru $$7MP1 from «L$01Y to I do 
begin 

local $$TMP j volatile; 
$$TMP = 0; 
end: 

$$rMP£ = , $$TMP2 - 1; 
end? 
end} 

*; 

macro 

RFl ACS (LOCI ~- 

t.OC - LSRFLAGS (CSRFl.A) 

1 i nkage 

L5RFL.AGS * trap (register = 0)j 

macro 

READBUS - 
(LSREADBUS (C$RDBU)) 

I i nk age 

LSRF.ADBUS - trap : VALUECBIT clearstackj 

macro 

MEMORi CMEMLOC) = 

MEMLOC - LJMEMORY (C$MEM) 
*i 

1 i nk age 

LSMEMORr « trap (register - 0)j 

macro 

INI OOP = 

(L5INL00P (CSINLP)) 
*; 

I I nknge 

LUNL00P - trap • VALUECBIT clearstack* 



SEQ 0251 



\Ad 



macro 

MANUAL. - 

iLSMANUAl. (CSMAN1)) 



SEQ Q25'd 



1 inknge 

l.SMANUAl. - trap ; VALUECBIT clearstackj 

macro 

CK1.00P « 

If CT$RAPRO (CSCLP1)) then 
leave T$$TAG { 



macro 




ESCAPE ■ 




If (T5RAPR0 (C$ESCAPE)) then 


leave 


T$$TAG ; 


*; 




macro 




FXIT 




begin 




T$RAPRO (C*EXIT); 


leave 


T$$TAG 5 


end; 




*; 




macro 




FXTT .TST 


* 


begin 




TiRAPRO (C$EX1T); 


return j 


end; 




*i 




c omp ! 1 e t i me 




5BGNTST 


* o, 


*BGNSUB 


- 0, 


$BGNSEG 


= 0, 


ST5TNUM 


= 1. 


SSUBNUM 


" 1. 


SSLGNUM 


'-■ 1, 


SPUSHLEV 


B o, 


$POPLEV 


* 8, 


MTEMP 


» 0, 


UCOOE 


* o. 


CSCOUNT 


a 0; 



THIS 

THIS 
THIG 

THIS 
THIS 
THIS 
THIS 
THIS 
THIS 
THIS 



FLAG IS 
FLAG IS 
FLAG IS 

VARIABLE 
VARIABLE 
VARIABLE 
VARIABLE 
VVARIAEL 
VARIABLE 
VARIABLE 



SET AT BGNTST AND CLEARED AT ENDTST 

SET AT BGNSUB AND CLEARED AT ENDSUB 

INCREMENTED AT BGNSEG AND DECREMENTED AT ENDSEG 
IS USED TO GENERATE THE TEST LABEL. 
IS USED TO GENERATE THE SUBROUTINE LABEL 
IS USED TO GENERATE THE* SEGMENT LABEL 



IS USED WITHIN SEGMENT NESTINGS 
E IS USED 
IS USED *.0 GENERATE 
IS USED TQ GENERATE 
COUNTER USED IN VARIOUS MACROS 



WITHIN SEGMENT NESTINGS 

GPRM'S/GMANT S 
GPRM'S/GMAM'S 



N2 



macro 

BGNINIT = 
rout ine I INIT 
begin 
*; 



hEQ 0233 



novalue - 



macro 

BGNAU -- 
routine l.AU 
begin 



novalue = 



macro 

BGNAUTO - 
routine 1 AUTO 
begin 



novolu^ - 



macro 

BGNCt N '- 
routine t. CLEAN 



novalue = 



macro 

BUNDU •• 
routine LOU 
begin 



novalue = 



macro 

BGNRPT ^ 
routine L.RPT 
begin 



novaiue - 



macro 

I A3TA0 - 
psect 

code = $XY/$j 

globnl routine JEND..LINK : novalue - 

THE KOLl.OWING DATA STRUCTURE MUST BE IN 
A ROUTINE AND NOT AT • MODULE' LEVEl , 
OTHERWISE THE PRESENT COMPILER COMPLAINS. 

begin 
forward 

HKREE : vector (1) psect ($Xt/$) } 
gUj"-ai BLU.AS : vector [ ? ] psect («Xi/Sl 

initial (MFRfcF, CCTtFREfc - BLJLAS L J ) ) .'Uj 

global bincj 

L*!.AST = BLtLAS [21 1 'THE AUQR OF THE WORD AFTER U^lll 



macro 

RuNS* JUT vNUM> 
global bind 

TJPTHV - NUMj 

compi let ime 

P$PTR =• 0, THIS USED TO Bb TRUE BUT CALCULATIONS f OR POINTERS WERE OFF 

P5PTR • 4, 

PT$NUM . 0; 
•assign iPMNW, NUM) 
osect pi It l $XtJ$j 

macro 

ENDSETUP « 

• if PUNUM neq 

'then *errormacro ('ERROR IN PTABIL BLOCK' ) 
»f I 
global T$~REE . vector [1] psect v$Xt/$) initial CO); 

THTS LOCATION MAY GET OVERWRITTEN WITH NO PROBLEM 

end} 

*; 

macro 

BGNPTAn « 

•ass on tPTSNUM, PTSNUM ♦ I ) 



SEQ 0234 



P 



on l Hi 

TARS i 



macro 

PTABS i ] * 

•ASSIGN (P$PTR. PJPTR > (;? * (•LENGTH ♦ 4))) THIS USED TO BE TRUE BUT CALCULATIONS f '0R POINTER*} WERE QfiF 

*as«jor (P$PTR, P*PTR ♦ (2 ♦ (*l«n u th ♦ r ?))) 

• If PMnum eql ? 

Kthen 

bind Sti AS1 * upi it (0)j 

•else 

bind •name I ' SEAS' , •number CPTINUM)) - upl i t U *l A'jT » PJPTRli 

• f : 

bind 

#name C * $REM' t ^number (PTINUM)} » plit (*remain;-\g) j 
• » 



C.4 



macro 

FNHPMB •= 
) 

•assign (PTINUM* PT INUM <? ) 
*; 



SEQ Q23!> 



macro 

•name 1'TS', Knumbcr ($TSTNUM), tnumber tISUBNUM), •number (I5F.GNUM)) 



macro 

BGNTST * 

•If IBGNSU6 neq 

• then 

•errormacro ('"BGNTST" IN SUB' 1 
•ex I tmacro 

• f * 

• if IBGNSEG r\eq 

• then 

•errormacro ('"BGNTST*' IN SfcG' ) 
•exi tmacro 

• f : 

•if JBGNTST neq 

• then 

•errormacro (*"BGNT5T ,, IN TST') 
•ex i tmacro 

•f ; 

*a-:,sign ( IPUSHLEV, 0) 

• assign C SPOPlEV, 8) 
•assign (ISUBNUM, 0) 
•assign ( SSEGNLfi, 0) 
•assign ( SBGNTST, I* 

routine *name ('IT', •number (US TNUM)) ; novalue ■ 
begin 

label T$$TAG; 
TllTAG: begin 



!DCR'D TO 0«<0«ERRUR 



mncpo 

BGNSFG * 

•assign I IPUSHLEV, IPUSHLEV ♦ 1) 

• assign (ISEGNUM, ISF.GNUM ♦ I) 
•assign ( IBGNSEG. 1 ) 

• i f IPUSHLEV gtr 6 

• then •errormacro ( ' TOO MANi , 'BGNStG"S' ) 

• f ; 

do beg • n 

label TSITAG; 
TllTAG: begin 

TIRAPRO (C*BSEG>{ 
•j 



D'fy 



macro 

RiiNSlfl - 

• If SBliNSFli neq 

• then 

•errormacro C "BGNSUB" IN SEG* ) 
*e\! tmacro 

• f ; 

• if iBGNSUR n<?q 

• then 

•errormacro t ' "BtiNSUB" TN SUB* ") 

•e\i tmacro 
»f : 
•assign t *BGNSl>B, 1) 

• ass: go (* SUB NUM. 5SUBNUM > \) 
do beg I n 

label HSTAG; 
T$$TAG: begin 

T$RAPRO CC$BSUB); 



SEG 0236 



macro 

BGNMSG (NAME) * 

forward routine #name ('Mi' , NAMt ) : novalue; 
global routine NAME ; novalue ■ 
begin 

•name ('Mi' , NAME) ( ) { 
L*MJG (C$MSG); 
end; 
routine •name ('M*', NAME) : novalue * 
begin 

I ink age 

i.SMSG * trap; 

macro 

BGNSRv i ISM) - 

global routine ISR COLDPSW, 0LUPO : LUSR novalue = 
begin 



1 i nw age 

IS ISR « Interrupt; 



macro 

ENObRV 
end; 



macro 

t-NDSKV MOOPRI IPRIOHIH) ■ 
•if PRIORITY gtr 7 
*then 

Kerrormacro (. PRIORITY MUST BE TO 7' ) 
<e\ J tmacro 
•else 

01.DPSW <5,3* * PRIORITY; 
*f 

hNDSRV 



macro 

ENDMSli 
end; 
*; 

macro 

t'NDlNIT -- 

end; 
global routine l.$INIT * novalue = 
begin 

L.INIT ( )j 
1$RAP (C5INIT); 



macro 

ENDrtU 

end; 
global routine I $AU : novalue a 
beg ; n 

t.Au ( ); 
T$RAP (C$AU); 
end; 



macro 

ENDAuTO = 

end; 

global routine L.iAuTO 2 novalue * 
begin 

LAUTO ( ); 
T$RAP (CSAUTO); 
end; 



macro 

ENOCl.N - 
end; 
global routine I. SCI. E AN : novalue ■ 
begin 

i Cl t-AN 1 ); 
T$RAP (C$CLF.AN)j 
end; 



SE.Q 023 7 



macro 

t'NDDU * 

global routine LiDU ; novalue a 
begirt 

l.DU ( ); 
T$RAP (C$DU); 
end; 



SEQ 0238 



macro 

fcNDRPT = 
end; 
global routine L$RPT : 
begin 

IRPT C ); 
TSRAP (C$RPT); 
end; 



novalue = 



macro 

ENDTST = 

*if SBGNTST eql 
*then 

^rrormacro ('MISSING "BGNTST"') 
*ex i tmacro 

*f ; 

end 
end; 
global routine *nome C'T'. ^number ($TSTNU'')j 

do 

Kname OiT*. Knumber ($TSTNUM)) () 
while T$RAP (C*ETST); 
*assign UTSTNUM, iTSTNUM * I) 
*a 'ion (tBGNTST, 0) 

*' C($PL'SHLE.V * SPOPLEV) - 8) neq 



novalue a 



rff. 



*then rferrormacro ('TEST CONTAINS UNEQUAL. "BGNSEG"S AND "ENDSEG'V ) 



macro 

END SUB = 

*if 5BGNSU8 eql 
«ther, 

*errormacro ('MISSING "BGNSUB 1 " ) 
^ex 1 tmacro 
*f : 

end 
end 

while (TJRAPRd (C$ESUB))j 
^assign ( $BGNSUB, 0) 



macro 

endseg •• 

•assign ( SPOPLEV. SPOPLEV 1) 
*if $POPl..fcV iss 

*then «errormacro ('TOO MANY "ENDSEG"S' ) 

THE TEST FOR PROPER NESTING IS IN MACRO "ENDTST" 

end 
end 

rfhlle (TJRAPRO lC*ESEG))j 
Kassign ( SBGNSEG, 0) 
«i 

I * nkage 

URAPR3 - trap (register =0); 

macro 

SETVF.C (VECADD, ROUT, PRIOR) = 

L$SETVEC (C$SVEC. PRIOR. ROUT. VECADD, 3) 

1 i rnk age 

LS5ETVEC - trap (standard, standard, stanoard, standard); 

macro 

SETPRI (PRIOR) - 
L$SETPRI CC$SPRI, PRIOR) 
*: 

1 i nkage 

L.$SETPPI = trap (register - 0); 

macro 

CI RVeC (VECADD) - 

I SCl.RVEC (C$CVEC. VECADD) 

1 i nk age 

t. SCl.RVEC « trap (register * )j 

macro 

PRIN1B [ ] - 
begin 

bu ' 1 1 i n sp a 

Knome CD$ERR', ^length) (C$PNTB, RLVERSEAC TUAl. ^ (•remaining), *length t ,sp) { 
end 

*; 






I-L'j 

macro 

begin 

bu I 1 1 i o sp ; 

*name C'DSERR', *length) (C$PNTX, REVERSEACTUALS (rfremain ing) , rflength, ,sp)j 

end 

macro 

PRINTS I ] ^ 
beg In 

\>vj " 1 1 ! n sp ; 

*name CD$ERR', •length) (C$PNTS, RL\/ERSEACTUALS (^remaining), ^length, ,sp)} 
end 

• ; 

macro 

PRINTS I ] • 
begin 

^name OD$ERR', ^length) (C$PNTF, REVERSEACTUALS (*remain ing) , Klength, ,gp)j 

»; 

macro 
| * 

i MAKE A ARGUMENT LIST THAT IS THE REVERSE OF THE ONE PASSED IN. 

REVERSF.ACTUALS (A) [ ] = 
*Jf ^length eql 1 

*then A 

*eloe REVERSEACTUALS (^remaining), A 

*: 

i » nk age 

DSERR1 - trap (standard, standard, register « 0)j 

1 1 nk age 

D$ERRt> - trap (standard, standard, standard, register • ())j 

1 i nk age 

D$LRR3 - trap (standard, standard, standard, standard, register » 0); 

1 • nk age 

l)$ERR4 - trap (standard, standard, standard, standard, standard, register -■ Q}; 

1 1 nk age 

DU.RR5 - trap (standard, standard, standard, standard, standard, standard, register 0)j 

X » nk age 

DSERRb - trap (standard, ''.andard, standard, standard, standard, standard, st*>dard, register * 0); 



SEQ 0240 



V- 



5EU 0241 



1 ink age 

D$ERR/ = trap (standard, standard, standard, standard, standard, standard, standard, standard, register - 
0)j 

1 ! nk age 

DSERR8 -* trap (standard, standard, standard, standard, standard, standard, standard, standard, standard, 
register * 0); 

L ' nk age 

D5ERR9 s trap (standard, standard, standard, standard, standard, standard, standard, standard* standard, 
standard, register = 0); 

macro 

GPHARD (UNIT, POINTER) - 

(POINTER = L$GPHAR0 (C$GPHRD, UNIT)) 
«: 

1 Inn age 

t.SGPHARD - trap (register * 0); 

macro 

CLOSE * 

T$RAP (C$CL0S) 

macro 

OPEN ( Fit ENAME) - 

D$FILE CCJOPEN, FILENAME) 

macro 

CiETWORO CDf'ST) •- 

GET.DATA (CSGETW, DEST) 
*: 

macro 

GETBtTE (DEST) * 

GET.DATA (C$GETB, DEST) 
»; 

macro 

fit r ; DATA (code, DEST) 
begin 

if D$GET (code, DEST) 

then (builtin rO j DEST * ,rOj 1) JCASt FOR CARRY l ,E T( COMF1. Mb ) 
else (0) JCARRV CLEAR * END OF KILE 

end 

1 ink<ngc 

U$GET - trap (register ■ 0) ; VALUtCBIT clearutackj 



macro 

GEtPRl I PR 10 ^ ' 

PR1U - tDJFILt CC$GPRin 



macro 

DORPT - 

L$D0RPT (C$DRPT) 
»; 

1 ! r»k age 

t.SDORPT - trnpi 

macro 

DODU (UNIT) « 

l.$D0DU ICJDODU, UNIT) 

1 ink age 

l.SDODU = trap (register » 0)j 

macro 

DOCLN = 

l.SDOCLN (C$DCLN> 

1 t nk age 

LJDOCt.N :: trap? 

macro 

READfcE CtPN) - 
LSREADEF CCSRfcPG, EFN) 

L I nk age 

LJREADKr * trap (register « 0) : VALUECflIT clearstackj 

macro 

CLOCK ( MPt., P0IN1ER) - 
*if ^identical (TYPE, I.) 
*then 

MJCICK (POINTER, *o' 114' ) 
tfex ! tmacro 
#f ; 

*5f *!d«nt ical ( Ty ' , P ) 
*then 

MSCl.CK (POINTER, *o* 120* ) 
*e>> i t macro 
*eise 

*errormacro ('TYPE MUST QE L OR P' ) 



J. 5 



K5 

SEU 0243 
macro 

MSCLCK (POINTER, KIND") * 

begin 

\f UCL.CK (C*CLCK. KIND) 

then (builtin rOj POINTER = ,rOj I) !1 IS THE CAS*-. V OR CARRY SET. 

•OTHERWISE KNOWN AS "COMPLETE" 

else CO) !0 IS THt CASE FOR CARRY CLEAR. 

•OTHERWISE KNOWN AS "INCOMPLETE" 

*; 

1 i nkage 

LSCl.CK = trap (register - 0) t VALUECBIT clearstackj 

I i nk age 

DEFILE * trap (register = 0)j 

1 I nkage 

T$RAP = trap; 

macro 

GMANIL CMSGADR. DAT ADR, MASK. DFLT) = 
begin 

builtin DECX; 

^assign (T$COD£ GiPRML or G$RADL) 

M*DF[_T (DFLT, T$TEMP); 

•iasslgn (T$C0DE. TJCQDE or T I TEMP) 

DECX CC$GMAN, *o'40V, DATADR, T$C0DE, MSGADR , MASK); 
end 

macro 

GMANID CMSGADR, DATADR, RADIX, MASK, LOW, HIGH, DFLT) - 
begin 

bui itin DECX; 

^assign (T$CODE, GiPRMD) 

MSRAO CRADIX, T$TEMP)j 

^assign (UCODE, TJCODt. or T$TEMP) 

MSUK.T (DFLT, T$TEMP)j 

rfassigr, C1SC0DF, TJCQDE or M TEMP ) 

DECX (CSGMAN, tfo'406', DATADR, UCODE, MSGADR, MASK, LOW, HIGH)j 
end 
*; 



3 

SLQ 0244 
macro 

GMANIrt (MSGADA, DATADR, RADIX, LOW. HIGH, DR.T) - 

begin 

buiitin DECXj 

*if *io>ntical (A, RADIX) 

*then ien ormacro ('INVALID RADIX') 

*f i 

^assign (T$C0DE, GJPRMA) 

M$RAD (RADIX, T$TLMP) : 

*as*jign (TSCODE, TSCODE or MTKMP) 

MtDFi.T (D r LT, T*TFMP); 

^assign (MCODt, TJCUDt or THEMP) 

DECX (C$GMAN, *o'40^-, DATADR, T$CODE, MSGADft, LOW, HIGH); 
end 
*i 

macro 

MSHAD ( IN, OUT) * 
tflf identical (IN, B) 
Kthen 

*assigo (OUT, G$RADB) 
»<*\ i tmacro 
*f ; 

Kif * Identical (IN, 0) 
tfthen 

^assign (OUT, G$RAD0) 
*e\ ! tmacro 

*f ; 

*»f « Identical (IN, D) 
#then 

*assign (OUT, G$RADD) 

*e*. » tmacro 
»f ; 

*if ^Identical (IN. L ) 

*then 

^assign (OUT, G$RADL) 
*e\ I tmacro 
#f ; 

*lf ^Identical (IN. A) 
*then 

*assign (OUT, G$RADA) 
*e\ i tmacro 
*f ; 

*errormacro ('ILLEGAL RADIX') 

macro 

rUDR.T (DR.T, OUT) * 

*if ^Identical (YES, DFLT) 

*then *assign (OUT, GlfFS) 
*else 

*iF * identical (NO, OR T) 

rfthen ^nss'gn (OUT, G$N0) 

*else *errormacro ('INCORRECT DEFAULT') 

tffl 



h6 



compi let I me 




C*TSCT 


0. 


0$BGNSFT = 


o. 


5BGNRPT = 


0, 


DSGNSW 


0, 


OSAPTS 


0. 


0$AU 


o, 


0$DU 


0. 


0$ERRTBL = 


0, 


0$ SETUP 


0. 


OJPO.TNTER * 


0, 


C$ITCNT 


0; 


macro 




BGNPROT (A, 


B, C) - 


global L$PROI : vector f3] 


initial (A, B, C)j 


• ; 




macro 




ENDPROT * 




*t 





SEQ 024b 



psect ( $code$ ) 



macro 

DISPATCH (DSNUM) * 

global D5PCNT : vector [1] psect (SccdeS) 

initial (DSNUM)} 
Passion (C$T5CT. 1) 

FORDF.C (DSNUM) ! DECLARE ROUTINE NAMES 'FORWARD' OR 'EXTERNAL' 

Kfl'Jsico CC*TSCT, 1) 

global LiDISPATCH : vector [DSNUM] psect (ScodeO 
Ini t i al ( 

LOADTS ( DSNUM) 
)l 

macro 

LOADTS (TSTKMS) [ ] * 
^assign (CUTCNT. TSTNMS) 
•name C'T', ^number (CiTSCT)) 
•assign (CUTCNT, C$ITCNT 1) 
•assign (C4TSCT. CITSCT ♦ 1) 
*if ^number CCHTCNT) eql 

•then tfexitmacro 

*else . 

LOADTS (C$ITCNT) 
*fi 



N3 



S£Q 0246 

macro 

FORDfcC (TSfNMS) I ] - 
*assign (C$ITCNT, TSTNMS) 

external routine *name C'T», ^number (C$TSCT)) j novaluej 
Assign CC$ITCNT. C$I7CNT - I) 
tfassign (CUSCT, C$TSCT ♦ 1) 
*if ^number (CSITCNT) eql 
*then *ex i tmacro 
*else FORDEC (C$ITCNT) 
rff i 
*; 

macro 

POINTF.R (PNTR) [ ] = 
tPOINT (PNTR); 
psect put = $code$i 



1-34 



macro 

IPOINl ^PNTR) [ ) • 
mlF •Identical CrtLl , PNTR 1 ) 
•then 



SE.Q 0*A7 



• aSS 

•ass 

•ass 
•ass 

•ass 
•ass 
•ass 
•ass 

•ass 



gn tOIBGNSf T, 1 ) 
gn (OIBGNRPT, 1) 
gn (OIGNSW, 1) 
gn (OIAPTS. t) 
gn COIAU, 1) 
gn (OIDU, 1) 
gn (OltRRTBl. n 
gn (OISLTUP, 1 ) 
gn (0$P0INTFR, I) 



•e\l t macro 



t 



• if •Identical (NONt, PNTR} 
• then 

•assign (CtPOINTbR, I) 
•e\ : t macro 



• If 



• 1 



: f 



•f ; 



•■dentical C5FT. PNTR) 

• then 

•assign (OtBGNSFT, i> 
•assign (OtPOINTFR, n 

•Identical (RPT. PNTR) 

• then 

•assign CQiBGNRPT, X) 
•assign (UJPUlNTtR, 1) 



• If • ' dent I ca I iSw, PN1R) 

• then 

• assign ^OUiNSW. P 
*a*slgn UUPOINHR, I i 

• f : 

•If *identical (APTSTAT, PNTR) 
*then 

*ass!gn (OIAPTS. 1 ) 
*asslgn (OSPOINTER, 1 ) 

• f ' 

• If •Identical (AU, PNTR) 

• then 

•assign (0*AU, 1) 
^assign lOSPOINTEH, 1) 
*FI 

• If •Identical (DU. PNTR) 

• then 

^assign (OiDU, I ) 
^assign vOSPOINTER, i) 

•f ; 

•If •Identical ( TBI , PNTR) 

• then 

*as-?Ign (OJERRTBL, P 
^assign (0*POINTER» 1) 

• f : 

•IF •Identical (SETUP. PNTR) 
*then 

•ass gn (CUStTUP. 1) 
^assign (OJPOINTER, 1) 

»f ' 

5PQINT ^remaining); 



4 

SLQ 0248 



1)4 



macro 

RGNSW (NAM) - 
psect own « $code${ 
psect global « Jcode*; 
♦*orw»rd t_$NDSW: vector \\\\ 
global 

LtSWLfcN ; vector fl] 

initial C(l SNDSW • LSSWltNl 
«l f ^length eql 

*then •esitmacro 

*else global bind NAM => I $SW; 

»f: 



StQ 0249 



psect 



( $code$) 



macro 

FNDSU = 

global L.CNDSW : vector 
psect global -- $GL0B*j 
psec t own * % own $ j 



n 



psect ( $code$ ) j 



macro 














BGNhv: 


CNPS) - 












psect 


3',.oo.i] * tcodei 


» 










psect 


>*> 1 •- $ code J: 












forwa. 


s c ( 1 '!'!..-• iU : vector [ 1 ] 










glo^o 


1 i-HWLf-.N : vector [ 1] 




psect 


($code * 


i r 


i't. '■'.■! VvLSNOHW 


- L1HWLEN) / 


2); 






«i r % 


.C'-ifjt^ eq?. 












■• 


.-. f -■» «•»» ., j tnacro 












t,* 


?1*3« global bind 


NAM » 


L$HW; 









*: 



*f 



mac re 

g].:ibr' «. »Mf>iU : vector [lj 
pvf c t c.-**!" 1 Jown>; 
psect global « $GL0B*{ 



psect UcodeOj 



macro 

gl^.-^l 

g". 4-. -.J 
g i l k. y 1 
g'r.1: 1 



; ->,al 
hRRTiP 
I i-tVNBR 

: kuhi k 



* 



psect global » 



$code$; 
vector 

vector 
vector 
vector 

*GLQU*{ 



[11 

CI) 
[1] 

til 



mac ro 

HtrtOm U It NAM. REVl.EV, DfcPO, TIME, TYPE, PRI) » 
mif OtPOlNTCR eql 
*then 

*errormacro ( MISSINU POINTER MACRO' ) 

^e\ i tmncro 
*f : 

<^t*.'n»1 MO RESOLVE REFERENCES IN OTHER SKELS 

LJSOM, TSPTHV, L*RPT, UINiT, LSCLfcAN, 

LSLAS!, 1. SHARD, LJDVTYP, LSDESC, L$DU. L$AU, t$AUTO; 
co")pi let 'me 

C*HF.v:-3IGN = 3. ! 

CH-DTT = 5; ! 

forwar v 

fftRl>P : vector til. 

I . Jswi.EN : vector [ \), 

L JmUlE^ : vector f 1 ] , 

LSPROT : vector [3], 

l.$nif»PArCH ; vector ( OS$NBR_OF ..TESTS] { 
global bind 

LJERRI'bl « ERRTYP, 

t.vSW * LiSULEN ♦ 2, 

LtHW - LSHWLEN ♦ ?} 
compiletinte EMT_E$LOAD - *o' 104035' j 
•ftsslgn CC5C0UNT, 8 - *charcount (FILNAM)); 
global I. « NAME : vector [4 1 poect t$codeJ) 

*;F fichiif count CFILNAM") gtr 7 

«&then 

♦errormocro ('NAME TOO BIG* ) 
»e\ ! t macro 

*f ; 

initial (FILNAM, rep CtCOUNT of byte CO)); 
global 1 JRHV : vector [1] psect ($code$) 

initial <'byte CREVLEV), byte CDEPO)); 
global bind LJDEPO «■ LtREV ♦ 1; 
global t RfcilT : vector {1} psect (*code$) 

initial (*if 0I5ETUP eql 

• then 
•else TJPTHV 

+ f i ); 
globe I Lf-TIML : vector [1] psect (Jcodei) 

:m't lol (TIME)s 
global I tHPCP : vector [1] psect (Jcode*) 

'.-ntial ft. SHARD); 
globa: I >SPCP ; vector [1) ptject CScodeS) 

initial (*if OIBGNSFT eql 

• then 
•else I $S0FT 

*n ); 
Olo^'il I. SHPTP : vector [ 1 ] psect (ScodeS) 

I.-'" t iaj. (I. SHU); 

globi-J. i.r.^rp : vector [l] psect i*codeS) 
initial (*if OSGNSw eql 

• then 
•else L*SW 



-4 

SEQ 02S0 



4 



psect ( $code$ ) 
psect ( *code$ ) 
psect C$code$) 



global i.il.ADP : vector [1] 

initial (L$t.AST); 
Qlobsl l *i3TA ; vector [11 

initial (0)} 
global L$C0 ; vector 11} 

initial CO); 
*!f U. ■ T/PE) neq 

*tft*r\ *i F TYPE neq 
Xthen 

*errormacro C'DIAG. TYPE MUST BE OR lO 
rtexi tmacro 



SbQ 02bl 



ii f : 
• . F " 
global L.iDTYP : vector [1] 



c.jlobol 

* -i 
glob .'I 1 

I r. 
global. 

I n 
g loos I 

* n 
global 

, n 
y.\cbul 

i n 
gXobaj 

i n 

'J? ob(.*l 

: r i 

in 



tial (T>PE); 

i SAF'T : vector fll 

tial CO); 

1.5DTP : vector Cl] 

tial (L$DISPATCH); 

UPRIO : vector fll 

tial (PRI)j 

l.SKNVI : vector [1] 

tittl CO); 

LJEXP1 : vector [1] 

tial CO); 

LJMREV : vector [1] 

tial Cbyte CC$REVISION) , byte CC$EDIT))j 

L*E' : vector [2] 

tial (0. 0); 

l.S^PC : vector [1] 

tial CO); 

i.JDEVP : vector [1] 

tinl (LJDVTYP); 

i . >RKPP : vector f 1 } 

tinl C*iF 0$BGNRPT eql 



psect (Seodei) 

psect C $code$ ) 

psect ( $code$ ) 

psect ( Scode* ) 

psect C $code$ ) 

psect (tcodeS) 

psect C fcode I ) 

(CSEDIT))j 

psect ( $code$ ) 

psect ($code$) 

psect (icode*) 

psect C$code$) 



#then 
*else L$RPT 
*f I); 
sloKv* i.$l>P4 : vector [1] 

• -lit -si CO); 
Oloivl i fi : .XP5 : vector (11 

'•■i ».i »1 CO); 
tilolN*'. M^UT : vector [1] 

Initial C*if OtAU eql 
*then 
*else LtAU 

*FI ); 

yiobfti i fiJUT : vector [1] 

initial C*<F OiDU eql 
*then 
*else I tDV 

*Fi ); 
u'nbii '. Jt i.'N : vector [ll 

in it :al CO); 
V lobr. '. .-Di OP : vector 11) 

•-m t'ul - I IDf-SO; 
qIooM I i\ J AD : vector til 

initial CEW w E$LOAD)t 



psect ( Icode $ 1 

psect C $code$ ) 

psect ($code$) 

psect t ScodeS ) 

psect ( $code \ ) 

psect C Jcode* ) 

psect C $ code J ) 



G4 



global l vl • M> : vector ( 1 ] 

initic-l (rfif OJERRTBL eql 
*then 
*else L *ERRTBL 

global I > TP : vector [1] 

in-tivl (I $INIT); 
global L K'CP : vector [ll 

init i.-.l (I 5CI.EAN); 
global i."'V;P ; vector fl] 

Init-,-1 CLSAUTO); 
global l.^-RT : vector fl] 

?niU.il (LSPROT); 
global lC r t-'3l : vector [11 

T n i 1 1 •. 1 (.0); 
global L<"H Y ; vector [1] 

initial CO); 
global Li': i Mi; ; sector [ll 

. ni t ; .1 (0) j 
global I KP'J ; vector [1] 

initial CI): 



psect ( $code$ ) 

psect C $code* ) 
psect ( $code$ ) 
psect C$code$) 
psect C$code J) 
psect ( $code$ ) 
psect ($codet) 
psect ( $ code $ ) 
psect C $code$ ) 



SLQ 0252 



compi let inw 

XSXFE«_S'«'jP ■■■ *o*00l004', 

T5HI1..1M •■■ 0, 

TJ'.miM r o, 

t$e;xcp - o. 

C5AT1.0 - O, 

GPS COUNT « o. 

cjAfur ■-■ 0} 

macro 

Dl VI iP ( '< if) ■■ 

C-lobrtl I V*MYP : vector [(Kcharcount CTYP) / 2) ♦ 1] 
psert . 5 code* ) 
initial (TVP)j 



♦THIS IS A NO-OP, I.E., "XFER «PC * 2" 



macro 

Oe SCRIP. ■: !)( SO - 

global l„m>'Sl : vector [ ( Kchorcount ( DESC) / 2) ♦ 1] 
psec : i Si*:ode$ ) 
in!t.;>0 I'DESOj 



macro 

XI IK '. i /ti; , 

MJXFTR (LAB, XSALWAYS); 



macro 

MSXFfcP (UW, y.$KALSt) 
*5 

n.ac ro 

VfcRT UAH) ■■•■ 

M$XFfcR r.,AU, XSTRUL) 
*: 

macro 

M$\!"LR U^S. FLAVOR) = 
for km d 

»'iamc t tt_ ' # LAB); 
! GENKRAiv. "ft •;; XFF.R : 
psect own $code$; 
own <name C ' $' , LAB): 

ln;ti.-».l l((«name ('*L', LAB) - Kname ('$', LAB)) * X50FFSET) * 
t;$XFPR ♦ FLAVOR)} 
os«ct own - $own${ 

nncro 

$L O-AFj^ - 
! GLN A IAU.L '-'OR OFFSF-T CALC AND FILL IT 
! WITH A HV ;P 

psect o*n - $code$ ; 

own 

*nam«? ( ' $L' . LAB) : initial ( X$XFER_SKIP) } 

macro 

BliNHk ) 

forwa d I. i.NOHRO : vector [llj 

globa, * 5HR0LN : vector [I] psect C$code$) 

initial vULMDHRD L5HRDLN) / 2) - l)j 
global bind L$HARD * L$HRDLN ► 2; 

■uncro 

OfoJSFT ■ 

forward LtKDilKT ; vector [ 1 '] j 

global I t'\i Tt N ■ vector [1] psect C$codeS) 

inir^.1. UU.SNDSFT L*SFTLN) / 2) - 1){ 

global bind LSSUFT - L55FTLN ♦ 2; 

mac i'o 

\ Muni;: 

global LSNUHRU s vector 11) psect CJcode*)i 

*{ 



•14 

SLQ 0255 



.14 



macro 

LNOM ! ■■ 
global l.$NOSFT 



SEQ 0254 



vector I 1 ] 



psect ($code$)} 



macro 

GPRMA (r'SGMOR, DATADR, RADIX, LOW, HIGH, DF'LT , COUNT) 



1) 



(OATADR 
TSTfcMP) 



♦ GSOFFSET)) 



^assign (uf'J COUNT, GP* COUNT * 

*a*sicKi ( ! *EXCP. 0) 

^assign ( V; COD!., 0) 

*a3s'?n u.$ COUNT, 4) 

NO A R.'AO.U (r;ADIX) { 

NO 000 AOK (' OATADR) j 

QFTSIT SIT (OATADR); 

*o«,iiJ^'. v15C00E. GSPRMA ♦ 

MiRAO v'RAOTX, TSTEMP); 

*r.f.'.ii^n LUCOOE. TlCODE or 

M$r»"l 1 (OF 1.1', TiTFMP); 

*assi*» '. :;COOF.. T$CODE or TSTEMP) 

MH.XCH (tow .HIGH) 

*i f COOMV gtr 1 
tf then 

•i<*s;ign (TiCODF. TiCODF or GiCNTOP) 
Kit:;5ifln CC$COUNT, C*C0UNT ♦ 1) 

<r * 

Qiobfti *nufr* ('GP$', dumber (GP* COUNT)) : 

■nitihj CrtCODF. MSGADR, T$L0l.IM, TSH1LIM 
*■ + CCiATLO or CiATHI) neq 
tfthen . r*EXCP 

i*{ ; 

HI f CO'jNT gtr 1 

•then , t COUNT 
*else ); 
*> * 
»as'.;!«n ', t; ii* i i.0 . 0) 
•(assign (C$ATH1, 0) 



JGEN, UNIQUE NAMES 



•4 ARGS, COUNT IS 'OPTIONAL* 



[LOAD LOW AND HIGH LIMITS. 



vector [CfCQUNT] psect I $ code*) 



/ *?)); 



J4 



C*' ■ ■'!■ 'r.JliAOK, OATADR, RAD^X, 

• . . .tsjn \ GP * LOUKI, GP$.. COUNT 

• r.jstgn ( ME" >, 0) 

* v*.?is I on v'T * COOK , ) 

* ^sign (CiCOUNT. 5) 
NO A HADtX (RADIX); 
Nf- ODD ADR (OAT ADR); 

r rsv. r .si/k cdataur i ; 

«.'.:PSiy» i.T<:OUl , Ur'RML 

M.'MAl) (RADIX. T$ TEMPI; 
•i.r-sign vT;CO'.)F. . UCOOE 



SEQ 025b 



MASK, LOW, HIGH, DFL.T, COUNT) = 
♦ 1) !GEN, UNIQUE NAMES 



!b ARUS, 



Or 



or 



m-.ou.t con.T, rmMpii 

ensign ( • vfOOE, T$CC j 
M -l-.XCP (I.OU.mIGH) 
ft.f CfViN- o«.p 1 

*^%-w;r. (TiCOOt . 

*ffo. :;^i ccjcouNr. 



(DAIADR ♦ IJSUKr'SfcT)) 
T$TEMP) 
TSTEMP) 



!LUAD LUW AND HIGH LIMITS. 



CODE or GiCNTOP) 
:s > COUNT * 1) 



'♦t 

global «<nftrn 
! n ! 1 1 n 1 
• if 

«f ■ 
• if 



> (GPS*, ^nuW.'«;r' (GP* COUNT")) ; 

vitcooE, msgad;;, mask, tu.ol.im, 

Cl.+ATl.O or ClATHI) neq 
• '.■hen , HEXCP 



vector [C5C0UNT] psect ($code$) 
UHILIM 



*»a ; :s • rn 
•a* " * yn 



COUNT 
<.i i- r ■■!.';» 
• eUvt 

•f; 

i i : ■ ' . ». ■'."• , 
1'- ATVil, 



gtr *. 
. (COUNT 



/ ?))i 



0) 
0) 



mncro 

GPRML CMSGAOR. 



DATADR, MASK, O^LT, COUNT) * 



GP$ . COUNT 



1) 



•assign CG'M^COUNI . 
•assign C TIEXrp, 0) 
^assi^n CTICOJE , 0) 
•assign (CSCOUNT, 3) 

NO ODD ADR (DAT ADR); 
OFT SET SIZE (DATADR); 
•assign US CODE, GtPRML 
M5RAD CL. T $TF.MP); 

• assign (TSCODE, I \ CODE. 
MSDFLT CDFt T, TiTEMP); 

•assign (TICODE. TtCODE or TSTEMP) 

• if COUNT gtr 1 

^then 

• oss ! gn 
•assign 

• ♦' ; 
global *nnm« ('UP!*, •number 

initial ( TiCOOt, MSuADR, 
•if COUNT gtr 1 



JOHN. UNIQUE 



•5 ARGb, COUNT IS 'OPTIONAL' 



♦ (DAT ADR ♦ GSOFTSET)) 
or T * TEMP) 



UlCODE. MCUDfc- or GSCNTOP) 
(CSCOUNT, CSCOUNT ♦ 1) 



(GPS 
MASK 



COUNT)) j vector IC*C0UNM pa^ct Ucode*) 



• n« 



•then , 
•else ) 

•f ; 

gn ( C5AH 0, 0) 



(COUNT / 2)) } 



*J 



•assign (CtATHl, 0) 



macro 

WLXCP I LOW, HIGH) 

• if (CiATLO or C$ATHI) neq 

•then 

•assign CTJCOOf , TiCODE or GU.XCP) 
•assign (CSCOUNT, C$COUNT ♦ 1) 
»t'i 

• if C$AU.O neq 

• then SLOW LIMIT WAS INDIRECT I.E. <S),N> 

•assign (T$F.XCP, TtEXCP or G$LOLIM) 

•assign (TU.OIIM, CLOW / 2)) 
•else 

•assign ( T$LULIM, LOW) 
mi'. 

• I F CSATHT neq 

•tnen !HI LIMIT WAS INDIRECT 

•assign (TJLXCP, TSfcXCP or G>HILIM) 

•assign (T$HILIM, (HIGH / 2)) 
•else 

•assign (T5HILIM, HIGH) 

• f 1 

•; 

macro 

gp$atl o (offset) '■■ 

•assign (C$ATLO. 1) 
OFFSET 

•; 

macro 

GPWVTHI (OFFSET) - 

•assign (C$ATHI # 1) 

OFFSET 
•i 

macro 

NO. .A RADIX (RADIX) * 

• If •Identical (A, RADIX) 

•then •errormacro ('INVALID RADIX') 

• f i 
•; 

macro 

NO..0DD.ADR (OFFSET) - 

•assign (T*TEhP. OFFSET and 1) ME OLD MASK 

• I f MTfMP neq 

•then •errormacro ('OFFSEl IS ODD') 
Hi f? 



4 

SEQ 02S6 



4 



macro 

OfTSM SIZt. (0F>St.T) - 

*if (G$Orst7P" • OKf-St.T) lso 

*th*n Kerrormocro C*UFFSF.r TOO BIG' ) 

*: 

macro 

DISPLAY (ARG) * 

global GPJDISP : vector [?] psect (*code$) 
initial (G$DISP, ARG)| 



SEQ 025 7 



1 

% 




...Bl 


1 




...CI 


1 




...Dl 


1 




...El 


\ 




,,,F1 


•♦ 




...Gl 


rfSBTTL * 


FIEin DECLAR.' 


...HI 


ISO. 


.FIELD - 


...11 






...Jl 


»♦ 




. ..Kl 


» ♦ 




...LI 


!♦ 




. ..Ml 




* % 


,..N1 




!♦ 


, ,.B2 




! ♦ 


...C2 




!♦ 


...D2 


* * 




,..E2 


tfSBTTL 


LINKAGE DELC! 


. . ,F2 


LITERAL 




...G2 
. ..H2 


MACRO 




...12 


MACRO 




...J2 


• ♦ 




. .,K2 


MrcRo 




...L2 


MACRO 




...M2 


MACRO 




...N2 


MACRO 




...B3 


MACRO 




...C3 


MACRO 




..03 


MACRO 




...E3 


MACRO 




. . .F3 


MAf.liu 




. ..G3 


MACHO 




...H3 


LINKAGE 




.. .13 


MACRO 




. .J3 


MACRO 




. . .K3 


MACRO 




. ..L3 


COMPILETIME 


...M3 


MACRO 




...N3 


MACRO 




...B4 


*IF 


^IDENTICAL ('. 


. ..C4 


MACRO 




. . .04 


MACRO 




. . .E4 


GLOBAL LILAOP ; . 


. ,.F4 


GLOBAL L$ETP j V. 


, ..G4 


MACRO 




. . .H4 


MACRO 




...14 


MACRO 




... J4 


MACRO 




. ..K4 


MACRO 




1 4